Today’s recommendations: Hiding text with @counter-style, what CSS layout still can’t do, the new search-text pseudo-selector, and dialog animations

A CSS-heavy batch: the language keeps growing, and these show both the new toys and the persistent gaps.

Preethi Sam’s Obscuring Text with @counter-style uses CSS in an unexpected way. @counter-style normally customizes list markers, but because markers represent a count, the symbolic, numeric, and alphabetic systems can generate character sequences. Overlay those sequences and they can hide the first 12 digits of a credit card number with dots. The pad descriptor and positional-notation math handle mixed-character sequences. This is part one of a series; the follow-up promises a word rotator using the cyclic algorithm.

Patrick Brosset’s What’s Missing in CSS Layout combines the 2025 State of CSS survey with his own social-media poll. The familiar complaints cover grid, flexbox, and confusing alignment models. More interesting is what respondents still cannot do. Their top request by a wide margin is overflow and wrap detection in CSS, which would let a navigation collapse or add scroll affordances without JavaScript. Other requests include CSS regions, text wrapping around non-rectangular shapes, and repositioning elements independently of DOM order. The list shows where the platform still falls short.

The CSS-Tricks Almanac entry on the search-text pseudo-selector documents a newer pseudo-element for styling the browser’s in-page search matches when a user presses Cmd/Ctrl+F. It is a small feature with accessibility and design uses, especially when the browser’s default yellow highlight clashes with a site’s palette. I am saving this as reference material.

Frontend Masters’ In-N-Out Animations for Dialogs tackles the fiddly problem of animating a <dialog> both when it opens and when it closes. Entry animations are easy; exit animations are harder because the element leaves the accessibility tree and its display switches to none. The article uses @starting-style, transition-behavior: allow-discrete, and the overlay property. It is part one of three and addresses the familiar modal that animates in smoothly but disappears instantly.

The Symfony blog’s New in Symfony 8.1: Forms Improvements rounds up the latest form-component changes. Symfony’s form system is powerful but verbose, so small ergonomic improvements matter. Anyone maintaining form-heavy Symfony applications should scan these release notes before writing boilerplate that may now be built in.