Breaking the Cascade: Styling Previous Siblings with CSS :has()
A deep dive into the :has() pseudo-class, showing how to create interactive lists that style *all* siblings (even previous ones) on hover, with zero JavaScript.
7 November 2025
How Modern CSS is Revolutionizing Layout and Interaction
A deep dive into new CSS features like Container Queries, :has(), and View Transitions that let us build faster, cleaner websites with less JavaScript.
31 October 2025
CSS Trigonometry Animation: Creating Motion with CSS Custom Properties
A deep dive into my 'Trending' CodePen for the Halloween challenge using CSS sin() and cos(), showing how we can create complex, organic motion with just CSS.