A comprehensive list of new CSS features by year of general availability across major browsers.
This document is automatically generated weekly.
@page(Chrome 2, Firefox 19, Safari 18.2)@property(Chrome 85, Firefox 128, Safari 16.4)@scope(Chrome 118, Firefox 128, Safari 17.4)@starting-style(Chrome 117, Firefox 129, Safari 17.5)
- content-visibility (Chrome 85, Firefox 125, Safari 18)
- font-variant-emoji (Chrome 131, Firefox 108, Safari 17.5)
- offset-position (Chrome 116, Firefox 122, Safari 16)
- ruby-align (Chrome 128, Firefox 38, Safari 18.2)
- scrollbar-gutter (Chrome 94, Firefox 97, Safari 18.2)
- scrollbar-width (Chrome 121, Firefox 64, Safari 18.2)
- text-wrap (Chrome 114, Firefox 121, Safari 17.4)
- text-wrap-mode (Chrome 130, Firefox 124, Safari 17.4)
- text-wrap-style (Chrome 130, Firefox 124, Safari 17.5)
- transition-behavior (Chrome 117, Firefox 129, Safari 17.4)
- white-space-collapse (Chrome 114, Firefox 124, Safari 17.4)
- zoom (Chrome 1, Firefox 126, Safari 3.1)
:popover-open(Chrome 114, Firefox 125, Safari 17)::target-text(Chrome 89, Firefox 131, Safari 18.2)
mod()(Chrome 125, Firefox 118, Safari 15.4)ray()(Chrome 116, Firefox 122, Safari 16)rem()(Chrome 125, Firefox 118, Safari 15.4)round()(Chrome 125, Firefox 118, Safari 15.4)
@container(Chrome 105, Firefox 110, Safari 16)@counter-style(Chrome 91, Firefox 33, Safari 17)@font-feature-values(Chrome 111, Firefox 34, Safari 9.1)
- -webkit-text-security (Chrome 1, Firefox 114, Safari 3)
- animation-composition (Chrome 112, Firefox 115, Safari 16)
- contain-intrinsic-block-size (Chrome 95, Firefox 107, Safari 17)
- contain-intrinsic-height (Chrome 95, Firefox 107, Safari 17)
- contain-intrinsic-inline-size (Chrome 95, Firefox 107, Safari 17)
- contain-intrinsic-size (Chrome 83, Firefox 107, Safari 17)
- contain-intrinsic-width (Chrome 95, Firefox 107, Safari 17)
- container (Chrome 105, Firefox 110, Safari 16)
- container-name (Chrome 105, Firefox 110, Safari 16)
- container-type (Chrome 105, Firefox 110, Safari 16)
- counter-set (Chrome 85, Firefox 68, Safari 17.2)
- font-synthesis-small-caps (Chrome 97, Firefox 111, Safari 16.4)
- font-synthesis-style (Chrome 97, Firefox 111, Safari 16.4)
- font-synthesis-weight (Chrome 97, Firefox 111, Safari 16.4)
- font-variant-alternates (Chrome 111, Firefox 34, Safari 9.1)
- mask-mode (Chrome 120, Firefox 53, Safari 15.4)
- math-style (Chrome 109, Firefox 117, Safari 14.1)
- offset-anchor (Chrome 116, Firefox 72, Safari 16)
- First page pseudo-class (
:first) (Chrome 18, Firefox 116, Safari 6) :has()(Chrome 105, Firefox 121, Safari 15.4)
acos()(Chrome 111, Firefox 108, Safari 15.4)asin()(Chrome 111, Firefox 108, Safari 15.4)atan()(Chrome 111, Firefox 108, Safari 15.4)atan2()(Chrome 111, Firefox 108, Safari 15.4)cos()(Chrome 111, Firefox 108, Safari 15.4)exp()(Chrome 120, Firefox 118, Safari 15.4)hypot()(Chrome 120, Firefox 118, Safari 15.4)log()(Chrome 120, Firefox 118, Safari 15.4)pow()(Chrome 120, Firefox 118, Safari 15.4)sin()(Chrome 111, Firefox 108, Safari 15.4)sqrt()(Chrome 120, Firefox 118, Safari 15.4)tan()(Chrome 111, Firefox 108, Safari 15.4)
@font-palette-values(Chrome 101, Firefox 107, Safari 15.4)@layer(Chrome 99, Firefox 97, Safari 15.4)
- accent-color (Chrome 93, Firefox 92, Safari 15.4)
- color-scheme (Chrome 81, Firefox 96, Safari 13)
- contain (Chrome 52, Firefox 69, Safari 15.4)
- font-palette (Chrome 101, Firefox 107, Safari 15.4)
- font-synthesis (Chrome 97, Firefox 34, Safari 9)
- overscroll-behavior (Chrome 63, Firefox 59, Safari 16)
- overscroll-behavior-block (Chrome 77, Firefox 73, Safari 16)
- overscroll-behavior-inline (Chrome 77, Firefox 73, Safari 16)
- overscroll-behavior-x (Chrome 63, Firefox 59, Safari 16)
- overscroll-behavior-y (Chrome 63, Firefox 59, Safari 16)
- rotate (Chrome 104, Firefox 72, Safari 14.1)
- scale (Chrome 104, Firefox 72, Safari 14.1)
- scroll-behavior (Chrome 61, Firefox 36, Safari 15.4)
- scroll-snap-stop (Chrome 75, Firefox 103, Safari 15)
- text-decoration-skip-ink (Chrome 64, Firefox 70, Safari 15.4)
- translate (Chrome 104, Firefox 72, Safari 14.1)
:modal(Chrome 105, Firefox 103, Safari 15.6)
<calc-keyword>(Chrome 99, Firefox 108, Safari 15.4)
- aspect-ratio (Chrome 88, Firefox 89, Safari 15)
- border-block (Chrome 87, Firefox 66, Safari 14.1)
- border-block-color (Chrome 87, Firefox 66, Safari 14.1)
- border-block-style (Chrome 87, Firefox 66, Safari 14.1)
- border-block-width (Chrome 87, Firefox 66, Safari 14.1)
- border-end-end-radius (Chrome 89, Firefox 66, Safari 15)
- border-end-start-radius (Chrome 89, Firefox 66, Safari 15)
- border-inline (Chrome 87, Firefox 66, Safari 14.1)
- border-inline-color (Chrome 87, Firefox 66, Safari 14.1)
- border-inline-style (Chrome 87, Firefox 66, Safari 14.1)
- border-inline-width (Chrome 87, Firefox 66, Safari 14.1)
- border-start-end-radius (Chrome 89, Firefox 66, Safari 15)
- border-start-start-radius (Chrome 89, Firefox 66, Safari 15)
- inset (Chrome 87, Firefox 66, Safari 14.1)
- margin-block (Chrome 87, Firefox 66, Safari 14.1)
- margin-inline (Chrome 87, Firefox 66, Safari 14.1)
- padding-block (Chrome 87, Firefox 66, Safari 14.1)
- padding-inline (Chrome 87, Firefox 66, Safari 14.1)
- scroll-margin-block (Chrome 69, Firefox 68, Safari 15)
- scroll-margin-block-end (Chrome 69, Firefox 68, Safari 15)
- scroll-margin-block-start (Chrome 69, Firefox 68, Safari 15)
- scroll-margin-inline (Chrome 69, Firefox 68, Safari 15)
- scroll-margin-inline-end (Chrome 69, Firefox 68, Safari 15)
- scroll-margin-inline-start (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-block (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-block-end (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-block-start (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-inline (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-inline-end (Chrome 69, Firefox 68, Safari 15)
- scroll-padding-inline-start (Chrome 69, Firefox 68, Safari 15)
:where()(Chrome 88, Firefox 78, Safari 14)
- font-optical-sizing (Chrome 79, Firefox 62, Safari 13.1)
- image-orientation (Chrome 81, Firefox 26, Safari 13.1)
- text-underline-offset (Chrome 87, Firefox 70, Safari 12.1)
clamp()(Chrome 79, Firefox 75, Safari 13.1)max()(Chrome 79, Firefox 75, Safari 11.1)min()(Chrome 79, Firefox 75, Safari 11.1)
- border-block-end (Chrome 69, Firefox 41, Safari 12.1)
- border-block-end-color (Chrome 69, Firefox 41, Safari 12.1)
- border-block-end-style (Chrome 69, Firefox 41, Safari 12.1)
- border-block-end-width (Chrome 69, Firefox 41, Safari 12.1)
- border-block-start (Chrome 69, Firefox 41, Safari 12.1)
- border-block-start-color (Chrome 69, Firefox 41, Safari 12.1)
- border-block-start-style (Chrome 69, Firefox 41, Safari 12.1)
- border-block-start-width (Chrome 69, Firefox 41, Safari 12.1)
- border-inline-end (Chrome 69, Firefox 41, Safari 12.1)
- border-inline-start (Chrome 69, Firefox 41, Safari 12.1)
- border-inline-start-width (Chrome 69, Firefox 41, Safari 12.1)
- break-after (Chrome 50, Firefox 65, Safari 10)
- break-before (Chrome 50, Firefox 65, Safari 10)
- break-inside (Chrome 50, Firefox 65, Safari 10)
- margin-block-end (Chrome 69, Firefox 41, Safari 12.1)
- margin-block-start (Chrome 69, Firefox 41, Safari 12.1)
- max-block-size (Chrome 57, Firefox 41, Safari 12.1)
- min-block-size (Chrome 57, Firefox 41, Safari 12.1)
- min-inline-size (Chrome 57, Firefox 41, Safari 12.1)
- padding-block-end (Chrome 69, Firefox 41, Safari 12.1)
- padding-block-start (Chrome 69, Firefox 41, Safari 12.1)
- scroll-snap-align (Chrome 69, Firefox 68, Safari 11)
- touch-action (Chrome 36, Firefox 52, Safari 13)
- caret-color (Chrome 57, Firefox 53, Safari 11.1)
- font-variation-settings (Chrome 62, Firefox 62, Safari 11)
- shape-image-threshold (Chrome 37, Firefox 62, Safari 10.1)
- shape-outside (Chrome 37, Firefox 62, Safari 10.1)
- transform-box (Chrome 64, Firefox 55, Safari 11)
:defined(Chrome 54, Firefox 63, Safari 10):host(Chrome 54, Firefox 63, Safari 10):host()(Chrome 54, Firefox 63, Safari 10)::slotted(Chrome 50, Firefox 63, Safari 10)
- font-stretch (Chrome 60, Firefox 9, Safari 11)
- font-variant-east-asian (Chrome 63, Firefox 34, Safari 9.1)
- gap (Chrome 57, Firefox 52, Safari 10.1)
- grid (Chrome 57, Firefox 52, Safari 10.1)
- grid-area (Chrome 57, Firefox 52, Safari 10.1)
- grid-auto-flow (Chrome 57, Firefox 52, Safari 10.1)
- grid-column (Chrome 57, Firefox 52, Safari 10.1)
- grid-column-end (Chrome 57, Firefox 52, Safari 10.1)
- grid-column-start (Chrome 57, Firefox 52, Safari 10.1)
- grid-row (Chrome 57, Firefox 52, Safari 10.1)
- grid-row-end (Chrome 57, Firefox 52, Safari 10.1)
- grid-row-start (Chrome 57, Firefox 52, Safari 10.1)
- grid-template (Chrome 57, Firefox 52, Safari 10.1)
- grid-template-areas (Chrome 57, Firefox 52, Safari 10.1)
- grid-template-columns (Chrome 57, Firefox 52, Safari 10.1)
- grid-template-rows (Chrome 57, Firefox 52, Safari 10.1)
- justify-self (Chrome 57, Firefox 45, Safari 10.1)
- place-content (Chrome 59, Firefox 45, Safari 9)
- place-items (Chrome 59, Firefox 45, Safari 11)
- place-self (Chrome 59, Firefox 45, Safari 11)
- row-gap (Chrome 47, Firefox 52, Safari 10.1)
::cue(Chrome 26, Firefox 55, Safari 7):focus-within(Chrome 60, Firefox 52, Safari 10.1)
<basic-shape>(Chrome 37, Firefox 54, Safari 10.1)<flex>(Chrome 29, Firefox 40, Safari 10.1)
- -webkit-mask-position-x (Chrome 1, Firefox 49, Safari 3.1)
- -webkit-mask-position-y (Chrome 1, Firefox 49, Safari 3.1)
- -webkit-text-fill-color (Chrome 1, Firefox 49, Safari 3)
- -webkit-text-stroke (Chrome 4, Firefox 49, Safari 3)
- -webkit-text-stroke-color (Chrome 1, Firefox 49, Safari 3)
- -webkit-text-stroke-width (Chrome 1, Firefox 49, Safari 3)
- all (Chrome 37, Firefox 27, Safari 9.1)
- background-position-x (Chrome 1, Firefox 49, Safari 1)
- background-position-y (Chrome 1, Firefox 49, Safari 1)
- --* (Chrome 49, Firefox 31, Safari 9.1)
- font-variant-caps (Chrome 52, Firefox 34, Safari 9.1)
- font-variant-numeric (Chrome 52, Firefox 34, Safari 9.1)
- justify-items (Chrome 52, Firefox 20, Safari 9)
- object-fit (Chrome 32, Firefox 36, Safari 10)
- object-position (Chrome 32, Firefox 36, Safari 10)
- will-change (Chrome 36, Firefox 36, Safari 9.1)
var()(Chrome 49, Firefox 31, Safari 9.1)
Total features tracked: 192
Last updated: 2025-03-23