26 features 2 years

What's New in CSS

A comprehensive reference of modern CSS features shipping in browsers. Select a year to explore, or browse the full catalog below.

All Years 2026 10 2025 16
2026
10 features
CSS features shipping in 2026. Mixins, cross-document view transitions, gap decorations, reading flow, and more browser interop improvements.
View timeline →
2025
16 features
A timeline of CSS features that shipped in browsers in 2025. Customizable selects, invoker commands, CSS functions, scroll-state queries, and much more.
View timeline →

2025

16 features View timeline →
Layout Chrome 134

Customizable Select

Fully style HTML select dropdowns with appearance: base-select. The dropdown renders in the top layer, supports rich HTML in options, and the new selectedcontent element reflects the chosen option.

Layout Chrome 135

Invoker Commands

Buttons can now perform actions on other elements declaratively with commandfor and command attributes. Open modals, toggle popovers, and close dialogs without JavaScript.

Layout Chrome 134

Dialog Light Dismiss

The closedby attribute brings popover-style light dismiss to dialogs. Set closedby="any" to close on backdrop click or ESC, or closedby="closerequest" for ESC only.

Layout Chrome 135

popover=hint & Interest Invokers

Hint popovers are ephemeral and don't close other popovers. The interestfor attribute triggers them on hover/focus declaratively. Perfect for tooltips and hovercards.

Animation Chrome 133

Scroll-State Container Queries

Style descendants based on whether a scroll container is stuck, snapped, or scrollable. Use container-type: scroll-state with @container scroll-state() queries.

Animation Chrome 136

Tree Counting Functions

sibling-index() returns an element's position among siblings; sibling-count() returns the total. Ideal for staggered animations and dynamic layouts without manual indexing.

Layout Chrome 135

CSS Scroll Markers & Buttons

Build carousels with CSS-only pseudo-elements. ::scroll-button() creates navigation arrows, ::scroll-marker creates dot indicators. Both are accessible and stylable.

Typography Chrome 133, Safari 18.2

text-box (trim & edge)

Trim invisible font metric space for true optical centering. text-box: trim-both cap alphabetic removes ascent/descent padding so text is visually centered in buttons, badges, and headings.

Workflow Chrome 137

CSS if() Function

Conditional values in CSS properties. Use if(media(...): value; else: fallback) for inline media queries, if(supports(...): ...) for feature queries, and if(style(...): ...) for style queries.

Workflow Chrome 137

CSS Custom Functions (@function)

Define reusable functions with @function --name(args) { @return ... }. Write composable, maintainable CSS logic like conditional border-radius, clamped values, and utility helpers.

Workflow Chrome 133

Advanced attr() Function

attr() now works beyond content property and can parse values as typed data: colors, lengths, numbers, and custom identifiers. Use with any CSS property.

Animation Chrome 137

shape() Function

Create complex, responsive clip paths with the shape() function. Supports curves, lines, and CSS custom properties for dynamic clipping that scales with element size.

Layout Baseline 2025

stretch Sizing Keyword

Make elements fill their containing block with width: stretch or height: stretch. Unlike 100%, it applies to the margin box so margins are respected without calc() hacks.

Layout Chrome 142

corner-shape Property

Go beyond border-radius with corner-shape: round, bevel, notch, scoop, or squircle. Create flower shapes, hexagonal grids, and iOS-style squircles in pure CSS.

Layout Chrome 138

Anchored Container Queries

Style elements based on their anchor positioning fallback. Use @container anchored(fallback: flip-block) to flip tooltip arrows automatically when position changes.

Animation Chrome 136

Nested View Transition Groups

Retain 3D and clipping effects during view transitions by nesting ::view-transition-group pseudo-elements. Use view-transition-group: nearest on child elements.

ESC