Search
How to Animate the Details Element Using WAAPI
5.11.2020
Animating accordions in JavaScript has been one of the most asked animations on websites. Fun fact: jQuery’s slideDown() function was already available in the first version in 2011.
In this article, we will see how you can animate the native <details> element using the Web Animations...
How to Write Loops with Preprocessors
5.11.2020
Loops are one of those features that you don’t need every day. But when you do, it’s awfully nice that preprocessors can do it because native HTML and CSS cannot.
Sass (SCSS)
for Loop
CodePen Embed Fallback
while Loop
CodePen Embed Fallback
each Loop
CodePen Embed Fallback
Less
for...
This page is a truly naked, brutalist html quine.
4.11.2020
Here’s a fun page coming from secretGeek.net. You don’t normally think “fun” with brutalist minimalism but the CSS trickery that makes it work on this page is certainly that.
The HTML is literally displayed on the page as tags. So, in a sense, the HTML is both the page...
Additive Animations in CSS
3.11.2020
Daniel C. Wilson explains how with CSS @keyframe animations, when multiple of them are applied to an element, they do both work. But if any properties are repeated, only the last one works. They override each other. I’ve seen this limitation overcome by applying keyframes to nested elements...
Websites We Like: Whimsical
3.11.2020
Whimsical is an app that lets you create flowcharts, wireframes, and mind maps but it was only earlier today that I spotted just how great the website is — especially the product pages. Check out this page where they describe how to use the Mind Maps feature where you can use the product right...
GIFS and prefers-reduced-motion
3.11.2020
The <picture> element has a trick it can do where it shows different image formats in different situations. If all you are interested in is formats for the sake of performance, maybe you’d do:
<picture<source srcset="img/waterfall.avif" type="image/avif"<source...
Gray Burst
3.11.2020
I made this neat little gray burst thing. It’s nothing particularly special, especially compared to the amazing creativity on CodePen, but I figured I could document some of the things happening in it for learning reasons.
CodePen Embed Fallback
It’s SVG
SVG has <line x1 y1...
Distorted Infinite WebGL Slider with Pixi.js
2.11.2020
In this video you'll learn how to code the infinite scrollable image slider from Lamadone Studio using Pixi.js.
The post Distorted Infinite WebGL Slider with Pixi.js appeared first on Codrops
More on content-visibility
28.10.2020
Back in August 2020, when the content-visiblity property in CSS trickled its way into Chrome browsers, Una Kravets and Vladimir Levin wrote about it and we covered it. The weirdest part is that to get the performance value out of it, you pair it with contain-intrinsic-size on these big chunks...
Comparing Various Ways to Hide Things in CSS
27.10.2020
You would think that hiding content with CSS is a straightforward and solved problem, but there are multiple solutions, each one being unique.
Developers most commonly use display: none to hide the content on the page. Unfortunately, this way of hiding content isn’t bulletproof because now that...
Can Github Remove the Bitcoin Codebase? Recent Repository Takedown Has Proponents Worried
26.10.2020
On October 23, the Microsoft-owned Github leveraged an ostensible DMCA takedown in order to remove 18 projects from the code-hosting portal. According to sources, the takedown stemmed from a request filed by the Recording Industry Association of America (RIAA). Github’s recent move has made...
Creating CSS Shapes with Emoji
24.10.2020
CSS Shapes is a standard that lets us create geometric shapes over floated elements that cause the inline contents — usually text — around those elements to wrap along the specified shapes.
Such a shaped flow of text looks good in editorial designs or designs that work with text-heavy contents...
Smarter Ways to Generate a Deep Nested HTML Structure
21.10.2020
Let’s say we want to have the following HTML structure:
<div class='boo'<div class='boo'<div class='boo'<div class='boo'<div class='boo'</div</div</div</div</div
That’s real a pain to write manually. And the reason why this post was born was being...
Announcing the 2020 State of CSS Survey
20.10.2020
Last year’s State of CSS Survey yielded interesting results. There’s the quick adoption of features, like calc() and CSS custom properties. There’s also the overwhelming opinion that CSS is fun to write even as we see a growing reliance on CSS-in JS. We also saw some predictable...
“Durable”
20.10.2020
Looks like the word “durable” is an emerging term in the world of serverless. As I understand it, it’s like allowing for state in places you wouldn’t normally expect to have it. For example, you call some cloud function and run some JavaScript… unless you have it...
The :focus-visible Trick
16.10.2020
Always worth repeating: all interactive elements should have a focus style. That way, a keyboard user can tell when they have moved focus to that element.
But if you use :focus alone for this, it has a side effect that a lot of people don’t like. It means that when you click (with a mouse)...
People Problems
16.10.2020
Just the other day, Jeremy Keith wrote that problems with performance work isn’t only a matter of optimization and fixing code, but also tackling people problems:
It struck me that there’s a continuum of performance challenges. On one end of the continuum, you’ve got technical issues. These can...
Full Bleed
15.10.2020
We’ve covered techniques before for when you want a full-width element within a constrained-width column, like an edge-to-edge image within a narrower column of text. There are loads of techniques.
Perhaps my favorite is this little utility class:
.full-width {
width: 100vw;
position:...
Layoutit Grid: Learning CSS Grid Visually With a Generator
15.10.2020
Layoutit Grid is an interactive open source CSS Grid generator. It lets you draw your designs and see the code as you go. You can interact with the code, add or remove track lines and drag them around to change the sizing — and you get to see the CSS and HTML change in real time!
Add some tracks...
Netlify Edge Handlers
13.10.2020
Some very cool news from Netlify: Edge Handlers are in Early Access (request it here). I think these couple of lines of code do a great job in explaining what an Edge Handler is:
export function onRequest(event) {
console.log(`Incoming request for ${event.request.url}`);
...