Links
CSS at Scale: LinkedIn’s New Open Source Projects Take on Stylesheet Performance
The current linkedin.com homepage clocks in at 1.9MB of CSS (156KB compressed). After re-building a fully-functional version of the homepage with CSS Blocks, we were able to serve the same page with just 38KB of CSS. To be clear: that's the uncompressed size. After compression, that CSS file weighed in at less than 9KB! And, because CSS Blocks enables code-splitting, we were able to achieve a 94% reduction of our compressed CSS delivered for initial render.
Grid to Flex: Flexbox fallbacks for popular UI solutions that use CSS Grid.
CSS grid is AMAZING! However, if you need to support users of IE11 and below, or Edge 15 and below, grid won't really work as you expect. This site is a solution for you so you can start to progressively enhance without fear!
Creating smooth sequential animations with Sass
In this article I’m going to demonstrate a technique for creating CSS animations using the power of Sass’ for loop. Whether you’re using React, Vue or Angular, these animations can be used in your app.
More accessible markup with display: contents
CSS Grid Layout lets you turn an element into a grid, and place the element’s direct children onto it. Given that, it might be tempting to use flatter markup, but less meaning is usually less accessibility. With
display: contents
, we can place grand children on a grid, which lets us have accessible markup and beautiful layout. Let’s dive into the details!
Using pseudo-elements with CSS Grid
This week I’ve had a couple of scenarios where I’ve needed to build a hero section with a full-width image, a large heading and a translucent sidebar overlaying the image – where the sidebar bleeds to the edge of the viewport but (crucially) the content of the sidebar aligns to what I like to call the “wrapper” grid columns – i.e. the columns of the grid where we actually want to place our content. This seems to be a fairly common occurrence with the designs that are coming my way these days, and it seems like a prime case for using pseudo-elements (
::before
or::after
) as child items of the grid.
Videos
Behind the Illusions: Impossibly high-performance layout animations by David Khourshid
Have you ever wanted to dynamically animate layouts without sacrificing performance? In this talk, innovative illusions will be revealed that will transform your static user interfaces into lively, intuitive experiences for your users at 60 frames per second. We'll investigate even the most complex animated layouts and discover how certain techniques, such as FLIP, containment, clever transforms, pseudoelements, CSS variables, and more can make layout animations easier and smoother.