Watch Out for Layout Shifts with ‘ch’ Units
Since `ch` units are based on your current font their value can change when fonts are loaded and cause unexpected layout shifts.
You appear to be offline, some content may be unavailable.
Since `ch` units are based on your current font their value can change when fonts are loaded and cause unexpected layout shifts.
On a recent project I finally found a solution to an issue I've run into several times: When listening for events in JavaScript, how can I tell whether an event was triggered directly by a user or by my code?
The single best feature of Vite, as far as I’m concerned, is its simplicity. Compared to the nightmare of configuring WebPack and Babel? Vite is delightfully easy to use.
But I'm not sure when this became widely supported, and I can't find anything about it online...
When plugins to add OG tags failed us, we decided to roll our own! This post demystifies open graph tags (which are just HTML meta elements, after all) and shows how we handle them.
Using the native HTML disclosure widget for a burger menu is so enticing. Unfortunately, the details/summary elements come with accessibility issues, so it's not an inclusive solution.
Progressive enhancement or a great Cumulative Layout Shift metric score? Why not both?
We just shipped the largest update to cloudfour.com since 2016! This time around, we had three main goals…
Font subsetting allows you to split a font's characters (letters, numbers, symbols, etc.) into separate files so your visitors only download what they need. There are two main subsetting strategies that have different advantages depending on the type of site you're building.
On a recent client project, we built a form that submitted to a third-party registration service. Easy-peasy, right? What followed was a comical series of incidents that served as an excellent lesson in defensive API handling.