TechEarl
Topic · CSS

CSS

Layouts that hold up across browsers, devices, and the design changes nobody warned you about.

18 articlesWritten by Ishan Karunaratne
CSS layouts, responsive design, and styling patterns that work across browsers and devices.
Run a JavaScript callback when a CSS transition or animation ends with transitionend and animationend, filter by propertyName, handle bubbling, and use the Web Animations API finished promise.
FeaturedCSS

Run JavaScript When a CSS Animation or Transition Ends

Fire a JavaScript callback when a CSS transition or animation finishes, using the transitionend and animationend events. The propertyName filtering, the bubbling trap, the cases where the event never fires, and the modern Web Animations API promise alternative.

More in CSS
CSS :has() is the relational parent selector that styles an element based on its descendants. Baseline in all engines: form-state rows, quantity queries, the previous-sibling trick, and the @supports gate.

The CSS :has() Parent Selector: A Complete Guide

CSS :has() is the parent selector we waited 20 years for: style an element based on what it contains. Now Baseline in every engine. Form rows, quantity queries, the previous-sibling trick, and the @supports gate for old browsers.