CSS-Trickz! also ready to join Digital Ocean

You probably want CSS-Tricks

Passkeys: What the Heck and Why?

Written by: Neal Fennimore

These things called passkeys sure are making the rounds these days. They were a main attraction at W3C TPAC 2022, gained support in Safari 16, are finding their way into macOS and iOS, and are slated to be the future for password managers like 1Password. They are already supported in Android, and will soon find their way into Chrome OS and Windows in […]

Continue reading "Passkeys: What the Heck and Why?" at CSS-Tricks

Some Cross-Browser DevTools Features You Might Not Know

Written by: Pankaj Parashar

I spend a lot of time in DevTools, and I’m sure you do too. Sometimes I even bounce between them, especially when I’m debugging cross-browser issues. DevTools is a lot like browsers themselves — not all of the features in one browser’s DevTools will be the same or supported in another browser’s DevTools. But there […]

Continue reading "Some Cross-Browser DevTools Features You Might Not Know" at CSS-Tricks

Making Calendars With Accessibility and Internationalization in Mind

Written by: Mads Stoumann

Doing a quick search here on CSS-Tricks shows just how many different ways there are to approach calendars. Some show how CSS Grid can create the layout efficiently. Some attempt to bring actual data into the mix. Some rely on a framework to help with state management. There are many considerations when building a calendar […]

Continue reading "Making Calendars With Accessibility and Internationalization in Mind" at CSS-Tricks

5 Mistakes I Made When Starting My First React Project

Written by: Richard Oliver Bray

You know what it’s like to pick up a new language or framework. Sometimes there’s great documentation to help you find your way through it. But even the best documentation doesn’t cover absolutely everything. And when you work with something that’s new, you’re bound to find a problem that doesn’t have a written solution. That’s […]

Continue reading "5 Mistakes I Made When Starting My First React Project" at CSS-Tricks

Creating a Clock with the New CSS sin() and cos() Trigonometry Functions

Written by: Mads Stoumann

CSS trigonometry functions are here! Well, they are if you’re using the latest versions of Firefox and Safari, that is. Having this sort of mathematical power in CSS opens up a whole bunch of possibilities. In this tutorial, I thought we’d dip our toes in the water to get a feel for a couple of […]

Continue reading "Creating a Clock with the New CSS sin() and cos() Trigonometry Functions" at CSS-Tricks

Managing Fonts in WordPress Block Themes

Written by: Ganesh Dahal

Fonts are a defining characteristic of the design of any site. That includes WordPress themes, where it’s common for theme developers to integrate a service like Google Fonts into the WordPress Customizer settings for a “classic” PHP-based theme. That hasn’t quite been the case for WordPress block themes. While integrating Google Fonts into classic themes […]

Continue reading "Managing Fonts in WordPress Block Themes" at CSS-Tricks

Everything You Need to Know About the Gap After the List Marker

Written by: Šime Vidas

I was reading “Creative List Styling” on Google’s web.dev blog and noticed something odd in one of the code examples in the ::marker section of the article. The built-in list markers are bullets, ordinal numbers, and letters. The ::marker pseudo-element allows us to style these markers or replace them with a custom character or image. […]

Continue reading "Everything You Need to Know About the Gap After the List Marker" at CSS-Tricks

An Approach to Lazy Loading Custom Elements

Written by: Frederik Dohr

We’re fans of Custom Elements around here. Their design makes them particularly amenable to lazy loading, which can be a boon for performance. Inspired by a colleague’s experiments, I recently set about writing a simple auto-loader: Whenever a custom element appears in the DOM, we wanna load the corresponding implementation if it’s not available yet. […]

Continue reading "An Approach to Lazy Loading Custom Elements" at CSS-Tricks

Different Ways to Get CSS Gradient Shadows

Written by: Temani Afif

It’s a question I hear asked quite often: Is it possible to create shadows from gradients instead of solid colors? There is no specific CSS property that does this (believe me, I’ve looked) and any blog post you find about it is basically a lot of CSS tricks to approximate a gradient. We’ll actually cover […]

Continue reading "Different Ways to Get CSS Gradient Shadows" at CSS-Tricks

Healthcare, Selling Lemons, and the Price of Developer Experience

Written by: Geoff Graham

Every now and then, a one blog post is published and it spurs a reaction or response in others that are, in turn, published as blogs posts, and a theme starts to emerge. That’s what happened this past week and the theme developed around the cost of JavaScript frameworks — a cost that, in this […]

Continue reading "Healthcare, Selling Lemons, and the Price of Developer Experience" at CSS-Tricks

Moving Backgrounds

Written by: Saleh Mubashar

We often think of background images as texture or something that provides contrast for legible content — in other words, not really content. If it was content, you’d probably reach for an <img> anyway, accessibility and whatnot. But there are times when the position or scale of a background image might sit somewhere between the […]

Continue reading "Moving Backgrounds" at CSS-Tricks

The truth about CSS selector performance

Written by: Geoff Graham

Geez, leave it to Patrick Brosset to talk CSS performance in the most approachable and practical way possible. Not that CSS is always what’s gunking up the speed, or even the lowest hanging fruit when it comes to improving performance. But if you’re looking for gains on the CSS side of things, Patrick has a […]

Continue reading "The truth about CSS selector performance" at CSS-Tricks