Hot off the presses! Firefox Nightly adds the new :heading pseudo! Easily style all headings, or use nth-child-like AnB syntax to select a range of headings! Needs
Keith Cirkellayout.css.heading-selector.enabledflag enabled.
A container query can contain viewport units, meaning you can compare the window vs the element and make choices.
Use the `arc` command within the `shape()` function we can draw a line that follows a circle from one point to the next, controlling the direction.
Don’t underestimate `shape()` — it’s the CSS version of SVG
Container units (e.g. cqi) are only able to reference the closest container. But if you register a custom property and set that higher up, you can get your hands on other containers units.
Kinda like that “bento box” look.
Is there a perfectly clear and reasonable answer? Or could we get this someday?
Hot off the presses! Firefox Nightly adds the new :heading pseudo! Easily style all headings, or use nth-child-like AnB syntax to select a range of headings! Needs
Keith Cirkellayout.css.heading-selector.enabledflag enabled.
Microsoft is working on “gap decorations” and have put together a nice playground to explore them, and I had a play. The idea is drawing lines where gaps would be, rather than empty space. It’s really quite well done with lots of control (do they hit the edges or stop short? do they overlap or not? which direction is on top? etc).
To see them as of right now, you need to open Chrome Canary with a flag. Not one of the about://flags flags, but a command-line flag. I had never done that before, but it basically means drilling into the .app to launch from inside it with the flag.
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-features=CSSGapDecoration
It all really makes me want to be able to style grid areas without needing to place an HTML element there to do it.
Feels notable that Iterator helpers have become Baseline Newly available. The gist is that you can map and filter on stuff that was annoying or impossible to before. I’ll copy Jeremy Wagner’s example:
const posts = document.querySelectorAll("ul#specific-list > li")
.values()
.filter(item => item.textContent.includes("kiwi"));
// For-of loops can only be used on iterables, which `posts` is!
for (const post of posts) {
console.log(post.textContent);
}Code language: JavaScript (javascript) I thought Ashley Willis did an excellent job explaining the role in What Is Developer Advocacy? (2025 Edition).
We’re still here to serve developers. And we’re still doing the messy, meaningful work of bridging the gap between what a company thinks developers want and what developers actually need.
I liked the perspective that it’s actually better for a developer advocate to be a little removed from day to day development at the company itself:
… our value often comes because we’re not too close to the implementation. We can see the experience from a developer’s point of view. We notice when onboarding is confusing, when SDKs are missing critical examples, when the documentation skips the “hard but honest” parts.
Some Q&A from Brian Rinaldi on the topic is interesting as well.
Developer news, information, and advice — right to your feed reader of choice.
RSSHere's our page on guest writing. It's a win-win-win!
Frontend Masters donates to open source projects through thanks.dev and Open Collective, as well as donates to non-profits like The Last Mile, Annie Canons, and Vets Who Code.