
Quick Hit #107
Font Awesome are launching a Kickstarter campaign to transform Eleventy (11ty) into Build Awesome.
1,207 articles from CSS-Tricks.

Font Awesome are launching a Kickstarter campaign to transform Eleventy (11ty) into Build Awesome.

How we look at the stacking order of our projects, how we choose z-index values, and more importantly, the implications of those choices.

A new version of Chrome will be released every two weeks (instead of four) starting from September 2026.

Sure, we can select the <html> element in CSS with, you know, a simple element selector, html. But what other (trivial and perhaps useless) ways can we do it?

Safari TP 238 trials customizable <select>, which Chrome has fully implemented already.

Safari TP 238 trials :open, which would make it baseline (yes, really).

TL;DR: We can center absolute-positioned elements in three lines of CSS. And it works on all browsers!

Despite what’s been a sleepy couple of weeks for new Web Platform Features, we have an issue of What’s !important that’s prrrretty jam-packed. The web community had a lot to say, it seems, so fasten your seatbelts!

Read an explanation of the recent CVE-2026-2441 vulnerability that was labeled a "CSS exploit" that "allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page."

Firefox 148 makes shape() available without a flag, aligning with Chrome and Safari.

Browsers don't just let you bookmark web pages. You can also bookmark JavaScript, allowing you to do so much more than merely save pages.

Chrome 145 enables % units for letter-spacing and word-spacing as well as overscroll-behavior for all scroll containers, now baseline.

This issue of What’s !important is dedicated to our friends in the UK, who are currently experiencing a very miserable 43-day rain streak. Presenting: the five most interesting things to read about CSS from the last couple of weeks. Plus, the latest features from Chrome 145, and anything else you might’ve missed. TL;DR: lots of content, but also lots of rain.

Chrome 145 finally ships text-justify, which is almost baseline now.

This is the second part of a small two-part series. In this article, we will explore another type of grid: a pyramidal one. We are still working with hexagon shapes, but a different organization of the elements., while exploring other different shapes.

The new contrast-color() function is not fully supported yet. But can we still implement it in a cross-browser friendly way using other new CSS features?

Chrome 145 becomes the first to ship customizable <select>, as well as column-wrap and column-height for better multicol layouts.

Can we make pie chart that's semantic, with flexible markup, and avoids using a JavaScript library? Here's how I tackled it.

Una Kravets announces border-shape with a couple of cool demos.

Adam Argyle quickly outlines the upcoming customizable <select>.

The new ::search-text pseudo (Chrome 144) matches are yellow while the current target (::search-text:current) is orange, but ::search-text enables us to change that.

Stu Robson's ReliCSS (clever name!) tool can excavate outdated CSS in your codebase that have modern CSS solutions.

The @custom-media at-rule has landed in Firefox Nightly! I couldn't find it in the release notes but Adam Argyle's on the beat noting that it's behind a flag

A while back, Temani tacked a repeating grid of hexagon shapes. Well, he's updated it with modern CSS features that result in fewer magic numbers. And it's impressive!

7 days left to cast your vote for the best GSAP-animated site of the year!

The new CSS grid lanes (aka masonry) layout spec continues to evolve... item-tolerance becomes flow-tolerance (Issue #10884).

Manuel Matuzović shares his position-try-fallbacks CSS reset for ensuring that anchored elements always flip/never overflow.

Chrome 144 trials the <geolocation> HTML element, which is currently on the standards track.

I love me some good web research reports. I'm a sucker for them. HTTP Archive's Web Almanac is one report I look forward to every year, and I know I'm not

If you're reading this, chances are you already have some sort of way that you're following when we publish new content, whether that's RSS, Bluesky,

Chrome 144 becomes the first to support ::search-text, a pseudo-element for selecting find-in-page text.

The developer community hasn’t wasted any time kicking off 2026 with some really great articles, demos, and insights. Firefox 147 and Chrome 144 also shipped, and while they’re not jam-packed with features, the releases are still pretty exciting for what’s normally a slow time of year, so without further ado, here’s what’s important from the last couple of weeks (or should I say the first couple o

2026 is almost upon us. I know we’re all itching to see the clock strike midnight (cue The Final Countdown by Europe), but not without recapping the best CSS-related things that happened over the last two weeks!

Happy new year, from the CSS-Tricks team!

:near(<length>) has been proposed, which would match whenever the pointer is within a specified proximity of the element.

State of HTML 2025 is now live!

Safari 26.2 ships command and commandfor as well as hidden=until-found, which are now supported in all web browsers.

This is the best job I've had in my life and it's only possible because you keep showing up each day to read, learn, share, and discuss all-things-front-end (and a little CSS, of course) with us.

Safari 26.2 ships sibling-index(), sibling-count(), and field-sizing, bringing them close to baseline.

The best CSS news from around the web from the last two weeks. In this edition: advent calendars, CSS Wrapped 2025, and the latest Web Platform Updates.

Andy Clarke with a brand-new resource. It generates the sort of fun typography that Andy commonly uses in his own work that's geared towards cartoon headings.

Firefox 146 becomes the first to trial @custom-media, an at-rule that’s like custom properties but for media queries.

How far can we really go with container queries? There are dozens of media queries now, so what if there were dozens of container queries as well? What could we use them for?

Firefox 146 has shipped the CSS Color 5 version of contrast-color() that only resolves to black or white. Hopefully Chrome support and CSS Color 6

I would like to tell you what I learned from a five-year old child about HTML and CSS. It’s funny how explaining something you do almost naturally teaches you about yourself and what you take for granted.

Responding to Wes Bos, Bramus demonstrates the different position-area values and how to handle inside corners (as there aren’t values for these).

It's easy to think of HTML Web Components as a recent feature, but it has roots that go all the way back to 1998.

@heyo53 asks on Bluesky: Is it okay to style or hide scrollbars?

A good measure makes reading text comfortable, while a bad one makes it more difficult. So, rather than allowing layout to dictate the measure, doesn’t it make more sense for the measure to inform layout decisions?

Firefox Nightly adds CSS anchor positioning support, which you can learn a lot more about in our complete guide.

Chrome 143 has introduced anchored fallback container queries to help us query the currently applied fallback position of anchored elements.

Unconvinced of the value of scrollytelling? Alright, skeptic, let’s first warm up with some common use cases for scroll-based styling.

Black Friday might be over but you can still save big on any of Piccalilli's CSS, JavaScript, or UX courses until December 9th, 2025.

Bramus:

CSS Masonry shaping up now that the CSSWG has landed on display: grid-lanes to trigger the layout switch.

Bramus shares that Chrome Canary no longer forces CSS animations using width and height properties to run on the main thread.

Being able to use the range syntax with container style queries — which we can do starting with Chrome 142 — means that we can compare literal numeric values as well as numeric values tokenized by custom properties or the attr() function.

A few links about headings that I've had stored under my top hat.

Why should you use a semantic <button> instead of a generic <div>? Accessibility, right? By how exactly does it help accessibility?

On mobile, people can lose their sense of context and can’t easily tell where a section begins or ends. Good small-screen design can help orient them using a variety of techniques.