CSS Browser Support Checker

Check which CSS features work across Chrome, Firefox, Safari, and Edge. See which are widely available, newly available, or have limited support. Get the minimum browser version needed and view usage percentages so you know what actually works.

How browser support works →

737 total 522 widely available 64 newly available
Feature
Baseline
-webkit-text-fill-color 1+ 49+ 3+ 12+ Widely
-webkit-text-stroke 4+ 49+ 3+ 15+ Widely
-webkit-text-stroke-color 1+ 49+ 3+ 15+ Widely
-webkit-text-stroke-width 1+ 49+ 3+ 15+ Widely
::after 1+ 1.5+ 4+ 12+ Widely
::backdrop 37+ 47+ 15.4+ 79+ Widely
::before 1+ 1.5+ 4+ 12+ Widely
::checkmark 133+ 133+ Limited
::column 135+ 135+ Limited
::cue 26+ 55+ 7+ 79+ Widely
::details-content 131+ 143+ 18.4+ 131+ Newly
::file-selector-button 89+ 82+ 14.1+ 89+ Widely
::first-letter 1+ 1+ 1+ 12+ Widely
::first-line 1+ 1+ 1+ 12+ Widely
::grammar-error 121+ 17.4+ 121+ Limited
::highlight 105+ 140+ 17.2+ 105+ Widely
::marker 86+ 68+ 11.1+ 86+ Widely
::part 73+ 72+ 13.1+ 79+ Widely
::picker 135+ 135+ Limited
::picker-icon 133+ 133+ Limited
::placeholder 57+ 51+ 10.1+ 79+ Widely
::scroll-button 135+ 135+ Limited
::scroll-marker 135+ 135+ Limited
::scroll-marker-group 135+ 135+ Limited
::search-text 144+ 144+ Limited
::selection 1+ 62+ 1.1+ 12+ Limited
::slotted 50+ 63+ 10+ 79+ Widely
::spelling-error 121+ 17.4+ 121+ Limited
::target-text 89+ 131+ 18.2+ 89+ Newly
::view-transition-group 109+ 144+ 18+ 109+ Newly
::view-transition-image-pair 109+ 144+ 18+ 109+ Newly
::view-transition-new 109+ 144+ 18+ 109+ Newly
::view-transition-old 109+ 144+ 18+ 109+ Newly
:active 1+ 1+ 1+ 12+ Widely
:active-view-transition 125+ 144+ 18+ 125+ Newly
:active-view-transition-type 125+ 18.2+ 125+ Newly
:any-link Widely
:attribute 1+ 1+ 3+ 12+ Widely
:autofill 110+ 86+ 15+ 110+ Widely
:buffering 15.4+ Limited
:checked 1+ 1+ 3.1+ 12+ Widely
:child 1+ 1+ 1+ 12+ Widely
:class 1+ 1+ 1+ 12+ Widely
:default 10+ 4+ 5+ 79+ Widely
:defined 54+ 63+ 10+ 79+ Widely
:descendant 1+ 1+ 1+ 12+ Widely
:dir Limited
:disabled 1+ 1+ 3.1+ 12+ Widely
:empty 1+ 1+ 3.1+ 12+ Widely
:enabled 1+ 1+ 3.1+ 12+ Widely
:first 18+ 116+ 6+ 12+ Widely
:first-child 4+ 3+ 3.1+ 12+ Widely
:first-of-type 1+ 3.5+ 3.1+ 12+ Widely
:focus 1+ 1+ 1+ 12+ Widely
:focus-visible Widely
:focus-within Widely
:fullscreen 71+ 64+ 16.4+ 12+ Widely
:future 23+ 7+ 79+ Widely
:has-slotted 136+ Limited
:has() 105+ 121+ 15.4+ 105+ Newly
:heading preview+ Limited
:host-context() 54+ 79+ Limited
:host() 54+ 63+ 10+ 79+ Widely
:hostfunction 54+ 63+ 10+ 79+ Widely
:hover 1+ 1+ 2+ 12+ Widely
:id 1+ 1+ 1+ 12+ Widely
:in-range 10+ 29+ 5.1+ 13+ Widely
:indeterminate 1+ 2+ 3+ 12+ Widely
:interest-source 142+ 142+ Limited
:interest-target 142+ 142+ Limited
:invalid 10+ 4+ 5+ 12+ Widely
:is Widely
:lang Widely
:last-child 1+ 1+ 3.1+ 12+ Widely
:last-of-type 1+ 3.5+ 3.1+ 12+ Widely
:left 6+ 5+ 12+ Widely
:link 1+ 1+ 1+ 12+ Widely
:list 1+ 1+ 1+ 12+ Widely
:loop Limited
:modal 105+ 103+ 15.6+ 105+ Widely
:muted 15.4+ Limited
:next-sibling 1+ 1+ 1+ 12+ Widely
:not() 1+ 1+ 3.1+ 12+ Widely
:nth-child() 1+ 3.5+ 3.1+ 12+ Widely
:nth-last-child() 4+ 3.5+ 3.1+ 12+ Widely
:nth-last-of-type() 4+ 3.5+ 3.1+ 12+ Widely
:nth-of-type() 1+ 3.5+ 3.1+ 12+ Widely
:only-child 2+ 1.5+ 3.1+ 12+ Widely
:only-of-type 1+ 3.5+ 3.1+ 12+ Widely
:open 133+ 136+ 133+ Limited
:open Limited
:optional 10+ 4+ 5+ 12+ Widely
:out-of-range 10+ 29+ 5.1+ 13+ Widely
:past 23+ 7+ 79+ Widely
:paused 15.4+ Limited
:picture-in-picture 110+ 13.1+ 110+ Limited
:placeholder-shown 47+ 51+ 9+ 79+ Widely
:playing 15.4+ Limited
:popover-open 114+ 125+ 17+ 114+ Newly
:read-only 1+ 78+ 4+ 13+ Widely
:read-write 1+ 78+ 4+ 13+ Widely
:required 10+ 4+ 5+ 12+ Widely
:right 6+ 5+ 12+ Widely
:root 1+ 1+ 1+ 12+ Widely
:scope Widely
:seeking 15.4+ Limited
:stalled 15.4+ Limited
:state() 125+ 126+ 17.4+ 125+ Newly
:subsequent-sibling 1+ 1+ 3+ 12+ Widely
:target Widely
:target-after 142+ 142+ Limited
:target-before 142+ 142+ Limited
:target-current 135+ 135+ Limited
:universal 1+ 1+ 1+ 12+ Widely
:user-invalid Limited
:user-valid Limited
:valid 10+ 4+ 5+ 12+ Widely
:visited 1+ 1+ 1+ 12+ Widely
:volume-locked 15.4+ Limited
:where Widely
@charset 2+ 1.5+ 4+ 12+ Widely
@container 105+ 110+ 16+ 105+ Widely
@counter-style 91+ 33+ 17+ 91+ Newly
@custom-media 148+ Limited
@font-face 1+ 3.5+ 3.1+ 12+ Widely
@font-feature-values 111+ 34+ 9.1+ 111+ Widely
@font-palette-values 101+ 107+ 15.4+ 101+ Widely
@function 139+ 139+ Limited
@import 1+ 1+ 1+ 12+ Widely
@keyframes 43+ 16+ 9+ 12+ Widely
@layer 99+ 97+ 15.4+ 99+ Widely
@media 1+ 1+ 3+ 12+ Widely
@namespace 1+ 1+ 1+ 12+ Widely
@page 2+ 19+ 18.2+ 12+ Newly
@position-try 125+ 125+ Limited
@property 85+ 128+ 16.4+ 85+ Newly
@starting-style 117+ 129+ 17.5+ 117+ Newly
@supports 28+ 22+ 9+ 12+ Widely
@view-transition 126+ 18.2+ 126+ Limited
<abs> Limited
<acos> 111+ 108+ 15.4+ 111+ Widely
<anchor-size> 125+ 125+ Limited
<anchor> 125+ 125+ Limited
<angle-percentage> 2+ 3.6+ 4+ 12+ Widely
<angle> 2+ 3.6+ 4+ 12+ Widely
<asin> 111+ 108+ 15.4+ 111+ Widely
<atan> 111+ 108+ 15.4+ 111+ Widely
<atan2> 111+ 108+ 15.4+ 111+ Widely
<basic-shape> 37+ 54+ 10.1+ 79+ Widely
<blend-mode> 35+ 30+ 8+ 79+ Widely
<calc-keyword> 99+ 108+ 15.4+ 99+ Widely
<calc-size> 129+ 129+ Limited
<calc> 26+ 16+ 7+ 12+ Widely
<cap> Newly
<clamp> 79+ 75+ 13.1+ 79+ Widely
<color> 1+ 1+ 1+ 12+ Widely
<corner-shape-value> 139+ 139+ Limited
<cos> 111+ 108+ 15.4+ 111+ Widely
<counter> 1+ 1+ 3+ 12+ Widely
<counters> 1+ 1.5+ 3+ 12+ Widely
<dashed-function> 139+ 139+ Limited
<dimension> 1+ 1+ 1+ 12+ Widely
<dynamic-range-limit-mix> 136+ 136+ Limited
<easing-function> 4+ 4+ 3.1+ 12+ Widely
<env> 69+ 65+ 11.1+ 79+ Widely
<exp> Limited
<filter-function> 18+ 35+ 6+ 12+ Widely
<flex> 29+ 40+ 10.1+ 12+ Widely
<frequency-percentage> Limited
<frequency> Limited
<global_keywords> 1+ 1+ 1+ 12+ Widely
<gradient> 26+ 3.6+ 7+ 12+ Widely
<hypot> Limited
<if> 137+ 137+ Limited
<image> 1+ 1+ 1+ 12+ Widely
<integer> 1+ 1+ 1+ 12+ Widely
<length-percentage> 1+ 1+ 1+ 12+ Widely
<length> 1+ 1+ 1+ 12+ Widely
<line-style> 1+ 1+ 1+ 12+ Widely
<log> Limited
<max> 79+ 75+ 11.1+ 79+ Widely
<min> 79+ 75+ 11.1+ 79+ Widely
<mod> 125+ 118+ 15.4+ 125+ Newly
<number> 1+ 1+ 1+ 12+ Widely
<overflow> 1+ 1+ 1+ 12+ Widely
<percentage> 1+ 1+ 1+ 12+ Widely
<position> 1+ 1+ 1+ 12+ Widely
<pow> 120+ 118+ 15.4+ 120+ Newly
<progress> 126+ 18+ 126+ Limited
<random> 26.2+ Limited
<ratio> 3+ 3.5+ 5+ 12+ Widely
<ray> 116+ 122+ 16+ 116+ Widely
<rcap> Newly
<rch> Newly
<rem> 125+ 118+ 15.4+ 125+ Newly
<resolution> 29+ 8+ 16+ 12+ Widely
<rex> Newly
<ric> Newly
<round> 125+ 118+ 15.4+ 125+ Newly
<shape> 1+ 1+ 1.3+ 12+ Widely
<sibling-count> 138+ 26.2+ 138+ Limited
<sibling-index> 138+ 26.2+ 138+ Limited
<sign> Limited
<sin> 111+ 108+ 15.4+ 111+ Widely
<sqrt> 120+ 118+ 15.4+ 120+ Newly
<string> 1+ 1+ 1+ 12+ Widely
<superellipse> 139+ 139+ Limited
<tan> 111+ 108+ 15.4+ 111+ Widely
<text-edge> 133+ 18.2+ 133+ Limited
<time-percentage> Limited
<time> 1+ 4+ 3.1+ 12+ Widely
<transform-function> 1+ 3.5+ 3.1+ 12+ Widely
<type> 139+ 139+ Limited
<url> 1+ 1+ 1+ 12+ Widely
<var> 49+ 31+ 9.1+ 15+ Widely
accent-color 93+ 92+ 15.4+ 93+ Widely
align-content 29+ 28+ 9+ 12+ Widely
align-items 29+ 20+ 9+ 12+ Widely
align-self 29+ 20+ 9+ 12+ Widely
alignment-baseline 1+ 5.1+ 79+ Widely
all 37+ 27+ 9.1+ 79+ Widely
anchor-name 125+ 125+ Limited
anchor-scope 131+ 131+ Limited
animation 43+ 16+ 9+ 12+ Widely
animation-composition 112+ 115+ 16+ 112+ Widely
animation-delay 43+ 16+ 9+ 12+ Widely
animation-direction 43+ 16+ 9+ 12+ Widely
animation-duration 43+ 16+ 9+ 12+ Widely
animation-fill-mode 43+ 16+ 9+ 12+ Widely
animation-iteration-count 43+ 16+ 9+ 12+ Widely
animation-name 43+ 16+ 9+ 12+ Widely
animation-play-state 43+ 16+ 9+ 12+ Widely
animation-range 115+ 115+ Limited
animation-range-end 115+ 115+ Limited
animation-range-start 115+ 115+ Limited
animation-timeline 115+ 114+ 115+ Limited
animation-timing-function 43+ 16+ 9+ 12+ Widely
animation-trigger 146+ 146+ Limited
appearance 84+ 80+ 15.4+ 84+ Widely
aspect-ratio 88+ 89+ 15+ 88+ Widely
attr() 4+ 2+ 3.1+ 12+ Widely
backdrop-filter 76+ 103+ 18+ 79+ Newly
backface-visibility 36+ 16+ 15.4+ 12+ Widely
background 1+ 1+ 1+ 12+ Widely
background-attachment 1+ 1+ 1+ 12+ Widely
background-blend-mode 35+ 30+ 8+ 79+ Widely
background-clip 1+ 4+ 5+ 12+ Widely
background-color 1+ 1+ 1+ 12+ Widely
background-image 1+ 1+ 1+ 12+ Widely
background-origin 1+ 4+ 3+ 12+ Widely
background-position 1+ 1+ 1+ 12+ Widely
background-position-x 1+ 49+ 1+ 12+ Widely
background-position-y 1+ 49+ 1+ 12+ Widely
background-repeat 1+ 1+ 1+ 12+ Widely
background-repeat-x 5+ 5+ 79+ Widely
background-repeat-y 5+ 5+ 79+ Widely
background-size 3+ 4+ 5+ 12+ Widely
baseline-shift 1+ 4+ 79+ Widely
baseline-source 111+ 115+ 111+ Limited
block-size 57+ 41+ 12.1+ 79+ Widely
border 1+ 1+ 1+ 12+ Widely
border-block 87+ 66+ 14.1+ 87+ Widely
border-block-color 87+ 66+ 14.1+ 87+ Widely
border-block-end 69+ 41+ 12.1+ 79+ Widely
border-block-end-color 69+ 41+ 12.1+ 79+ Widely
border-block-end-style 69+ 41+ 12.1+ 79+ Widely
border-block-end-width 69+ 41+ 12.1+ 79+ Widely
border-block-start 69+ 41+ 12.1+ 79+ Widely
border-block-start-color 69+ 41+ 12.1+ 79+ Widely
border-block-start-style 69+ 41+ 12.1+ 79+ Widely
border-block-start-width 69+ 41+ 12.1+ 79+ Widely
border-block-style 87+ 66+ 14.1+ 87+ Widely
border-block-width 87+ 66+ 14.1+ 87+ Widely
border-bottom 1+ 1+ 1+ 12+ Widely
border-bottom-color 1+ 1+ 1+ 12+ Widely
border-bottom-left-radius 4+ 4+ 5+ 12+ Widely
border-bottom-right-radius 4+ 4+ 5+ 12+ Widely
border-bottom-style 1+ 1+ 1+ 12+ Widely
border-bottom-width 1+ 1+ 1+ 12+ Widely
border-collapse 1+ 1+ 1.1+ 12+ Widely
border-color 1+ 1+ 1+ 12+ Widely
border-end-end-radius 89+ 66+ 15+ 89+ Widely
border-end-start-radius 89+ 66+ 15+ 89+ Widely
border-image 16+ 15+ 6+ 12+ Widely
border-image-outset 15+ 15+ 6+ 12+ Widely
border-image-repeat 15+ 15+ 6+ 12+ Widely
border-image-slice 15+ 15+ 6+ 12+ Widely
border-image-source 15+ 15+ 6+ 12+ Widely
border-image-width 16+ 13+ 6+ 12+ Widely
border-inline 87+ 66+ 14.1+ 87+ Widely
border-inline-color 87+ 66+ 14.1+ 87+ Widely
border-inline-end 69+ 41+ 12.1+ 79+ Widely
border-inline-end-color 69+ 41+ 12.1+ 79+ Widely
border-inline-end-style 69+ 41+ 12.1+ 79+ Widely
border-inline-end-width 69+ 41+ 12.1+ 79+ Widely
border-inline-start 69+ 41+ 12.1+ 79+ Widely
border-inline-start-color 69+ 41+ 12.1+ 79+ Widely
border-inline-start-style 69+ 41+ 12.1+ 79+ Widely
border-inline-start-width 69+ 41+ 12.1+ 79+ Widely
border-inline-style 87+ 66+ 14.1+ 87+ Widely
border-inline-width 87+ 66+ 14.1+ 87+ Widely
border-left 1+ 1+ 1+ 12+ Widely
border-left-color 1+ 1+ 1+ 12+ Widely
border-left-style 1+ 1+ 1+ 12+ Widely
border-left-width 1+ 1+ 1+ 12+ Widely
border-radius 4+ 4+ 5+ 12+ Widely
border-right 1+ 1+ 1+ 12+ Widely
border-right-color 1+ 1+ 1+ 12+ Widely
border-right-style 1+ 1+ 1+ 12+ Widely
border-right-width 1+ 1+ 1+ 12+ Widely
border-spacing 1+ 1+ 1+ 12+ Widely
border-start-end-radius 89+ 66+ 15+ 89+ Widely
border-start-start-radius 89+ 66+ 15+ 89+ Widely
border-style 1+ 1+ 1+ 12+ Widely
border-top 1+ 1+ 1+ 12+ Widely
border-top-color 1+ 1+ 1+ 12+ Widely
border-top-left-radius 4+ 4+ 5+ 12+ Widely
border-top-right-radius 4+ 4+ 5+ 12+ Widely
border-top-style 1+ 1+ 1+ 12+ Widely
border-top-width 1+ 1+ 1+ 12+ Widely
border-width 1+ 1+ 1+ 12+ Widely
bottom 1+ 1+ 1+ 12+ Widely
box-decoration-break 130+ 32+ 7+ 130+ Limited
box-shadow 10+ 4+ 5.1+ 12+ Widely
box-sizing 10+ 29+ 5.1+ 12+ Widely
break-after 50+ 65+ 10+ 12+ Widely
break-before 50+ 65+ 10+ 12+ Widely
break-inside 50+ 65+ 10+ 12+ Widely
caption-side 1+ 1+ 1+ 12+ Widely
caret-animation 140+ 140+ Limited
caret-color 57+ 53+ 11.1+ 79+ Widely
caret-shape 144+ 144+ Limited
clear 1+ 1+ 1+ 12+ Widely
clip 1+ 1+ 1+ 12+ Widely
clip-path 55+ 3.5+ 9.1+ 79+ Widely
clip-rule 15+ 3.5+ 5+ 79+ Widely
color-adjust 48+ 15.4+ Limited
color-interpolation 1+ 3+ 4+ 79+ Widely
color-interpolation-filters 1+ 3+ 3+ 79+ Widely
color-scheme 81+ 96+ 13+ 81+ Widely
column-count 50+ 52+ 9+ 12+ Widely
column-fill 50+ 52+ 9+ 12+ Widely
column-gap 1+ 1.5+ 3+ 12+ Widely
column-height 145+ 145+ Limited
column-rule 50+ 52+ 9+ 12+ Widely
column-rule-color 50+ 52+ 9+ 12+ Widely
column-rule-style 50+ 52+ 9+ 12+ Widely
column-rule-width 50+ 52+ 9+ 12+ Widely
column-span 50+ 71+ 9+ 12+ Widely
column-width 50+ 50+ 9+ 12+ Widely
column-wrap 145+ 145+ Limited
columns 50+ 52+ 9+ 12+ Widely
contain 52+ 69+ 15.4+ 79+ Widely
contain-intrinsic-block-size 95+ 107+ 17+ 95+ Newly
contain-intrinsic-height 95+ 107+ 17+ 95+ Newly
contain-intrinsic-inline-size 95+ 107+ 17+ 95+ Newly
contain-intrinsic-size 83+ 107+ 17+ 83+ Newly
contain-intrinsic-width 95+ 107+ 17+ 95+ Newly
container-name 105+ 110+ 16+ 105+ Widely
container-type 105+ 110+ 16+ 105+ Newly
content 1+ 1+ 1+ 12+ Widely
content-visibility 85+ 125+ 18+ 85+ Newly
contrast-color() Limited
corner-block-end-shape 139+ 139+ Limited
corner-block-start-shape 139+ 139+ Limited
corner-bottom-left-shape 139+ 139+ Limited
corner-bottom-right-shape 139+ 139+ Limited
corner-bottom-shape 139+ 139+ Limited
corner-end-end-shape 139+ 139+ Limited
corner-end-start-shape 139+ 139+ Limited
corner-inline-end-shape 139+ 139+ Limited
corner-inline-start-shape 139+ 139+ Limited
corner-left-shape 139+ 139+ Limited
corner-right-shape 139+ 139+ Limited
corner-shape 139+ 139+ Limited
corner-start-end-shape 139+ 139+ Limited
corner-start-start-shape 139+ 139+ Limited
corner-top-left-shape 139+ 139+ Limited
corner-top-right-shape 139+ 139+ Limited
corner-top-shape 139+ 139+ Limited
counter-increment 2+ 1+ 3+ 12+ Widely
counter-reset 2+ 1+ 3+ 12+ Widely
counter-set 85+ 68+ 17.2+ 85+ Newly
CSS Nesting (&) 120+ 117+ 17.2+ 120+ Newly
cursor 1+ 1+ 1.2+ 12+ Widely
custom-property 49+ 31+ 9.1+ 15+ Widely
cx 43+ 69+ 9+ 79+ Widely
cy 43+ 69+ 9+ 79+ Widely
d 52+ 97+ 79+ Widely
direction 2+ 1+ 1+ 12+ Widely
display 1+ 1+ 1+ 12+ Widely
dominant-baseline 1+ 1+ 4+ 79+ Widely
dynamic-range-limit 124+ 17.4+ 124+ Limited
empty-cells 1+ 1+ 1.2+ 12+ Widely
field-sizing 123+ 26.2+ 123+ Limited
fill 1+ 3+ 4+ 15+ Widely
fill-opacity 1+ 1+ 4+ 15+ Widely
fill-rule 1+ 3+ 4+ 15+ Widely
filter 53+ 35+ 9.1+ 12+ Widely
flex-basis 29+ 22+ 9+ 12+ Widely
flex-direction 29+ 22+ 9+ 12+ Widely
flex-flow 29+ 28+ 9+ 12+ Widely
flex-grow 29+ 20+ 9+ 12+ Widely
flex-shrink 29+ 20+ 9+ 12+ Widely
flex-wrap 29+ 28+ 9+ 12+ Widely
float 1+ 1+ 1+ 12+ Widely
flood-color 5+ 3+ 6+ 12+ Widely
flood-opacity 5+ 3+ 6+ 12+ Widely
flow-tolerance 26.4+ Limited
font 1+ 1+ 1+ 12+ Widely
font-display Widely
font-family 1+ 1+ 1+ 12+ Widely
font-feature-settings 48+ 34+ 9.1+ 15+ Widely
font-kerning 33+ 32+ 9+ 79+ Widely
font-language-override Limited
font-optical-sizing 79+ 62+ 13.1+ 17+ Widely
font-palette Newly
font-size 1+ 1+ 1+ 12+ Widely
font-size-adjust 127+ 3+ 16.4+ 127+ Newly
font-stretch 60+ 9+ 11+ 12+ Widely
font-style 1+ 1+ 1+ 12+ Widely
font-synthesis Widely
font-synthesis-position 118+ Limited
font-synthesis-small-caps 97+ 111+ 16.4+ 97+ Widely
font-synthesis-style 97+ 111+ 16.4+ 97+ Widely
font-synthesis-weight 97+ 111+ 16.4+ 97+ Widely
font-variant 1+ 1+ 1+ 12+ Widely
font-variant-alternates 111+ 34+ 9.1+ 111+ Widely
font-variant-caps 52+ 34+ 9.1+ 79+ Widely
font-variant-east-asian 63+ 34+ 9.1+ 79+ Widely
font-variant-emoji 131+ 141+ 17.5+ 131+ Limited
font-variant-ligatures 34+ 34+ 9.1+ 79+ Widely
font-variant-numeric 52+ 34+ 9.1+ 79+ Widely
font-variant-position 117+ 34+ 9.1+ 117+ Limited
font-variation-settings Widely
font-weight 2+ 1+ 1+ 12+ Widely
font-width Widely
forced-color-adjust 89+ 113+ 79+ Widely
gap 57+ 52+ 10.1+ 16+ Widely
glyph-orientation-vertical 4+ Limited
grid 57+ 52+ 10.1+ 16+ Widely
grid-area 57+ 52+ 10.1+ 16+ Widely
grid-auto-columns 57+ 70+ 10.1+ 16+ Widely
grid-auto-flow 57+ 52+ 10.1+ 16+ Widely
grid-auto-rows 57+ 70+ 10.1+ 16+ Widely
grid-column 57+ 52+ 10.1+ 16+ Widely
grid-column-end 57+ 52+ 10.1+ 16+ Widely
grid-column-start 57+ 52+ 10.1+ 16+ Widely
grid-row 57+ 52+ 10.1+ 16+ Widely
grid-row-end 57+ 52+ 10.1+ 16+ Widely
grid-row-start 57+ 52+ 10.1+ 16+ Widely
grid-template 57+ 52+ 10.1+ 16+ Widely
grid-template-areas 57+ 52+ 10.1+ 16+ Widely
grid-template-columns 57+ 52+ 10.1+ 16+ Widely
grid-template-rows 57+ 52+ 10.1+ 16+ Widely
hanging-punctuation Limited
headingfunction preview+ Limited
height 1+ 1+ 1+ 12+ Widely
hyphenate-character 106+ 98+ 17+ 106+ Newly
hyphenate-limit-chars 109+ 137+ 109+ Limited
hyphens Widely
image-orientation 81+ 26+ 13.1+ 81+ Widely
image-rendering 13+ 3.6+ 6+ 79+ Widely
ime-mode 3+ 12+ Limited
initial-letter 110+ 122+ 9+ 110+ Newly
inline-size 57+ 41+ 12.1+ 79+ Widely
inset 87+ 66+ 14.1+ 87+ Widely
inset-block 87+ 63+ 14.1+ 87+ Widely
inset-block-end 87+ 63+ 14.1+ 87+ Widely
inset-block-start 87+ 63+ 14.1+ 87+ Widely
inset-inline 87+ 63+ 14.1+ 87+ Widely
inset-inline-end 87+ 63+ 14.1+ 87+ Widely
inset-inline-start 87+ 63+ 14.1+ 87+ Widely
interactivity 135+ 135+ Limited
interest-delay 142+ 142+ Limited
interest-delay-end 142+ 142+ Limited
interest-delay-start 142+ 142+ Limited
interpolate-size 129+ 129+ Limited
isolation 41+ 36+ 8+ 79+ Widely
justify-content 29+ 20+ 9+ 12+ Widely
justify-items 52+ 20+ 9+ 12+ Widely
justify-self 57+ 45+ 10.1+ 16+ Widely
letter-spacing 1+ 1+ 1+ 12+ Widely
lighting-color 5+ 3+ 6+ 12+ Widely
line-break Limited
line-clamp 6+ 68+ 5+ 17+ Widely
line-height 1+ 1+ 1+ 12+ Widely
list-style 1+ 1+ 1+ 12+ Widely
list-style-image 1+ 1+ 1+ 12+ Widely
list-style-position 1+ 1+ 1+ 12+ Widely
list-style-type 1+ 1+ 1+ 12+ Widely
margin 1+ 1+ 1+ 12+ Widely
margin-block 87+ 66+ 14.1+ 87+ Widely
margin-block-end 69+ 41+ 12.1+ 79+ Widely
margin-block-start 69+ 41+ 12.1+ 79+ Widely
margin-bottom 1+ 1+ 1+ 12+ Widely
margin-inline 87+ 66+ 14.1+ 87+ Widely
margin-inline-end 69+ 41+ 12.1+ 79+ Widely
margin-inline-start 69+ 41+ 12.1+ 79+ Widely
margin-left 1+ 1+ 1+ 12+ Widely
margin-right 1+ 1+ 1+ 12+ Widely
margin-top 1+ 1+ 1+ 12+ Widely
margin-trim 16.4+ Limited
marker-end 1+ 3+ 4+ 15+ Widely
marker-mid 1+ 3+ 4+ 15+ Widely
marker-start 1+ 3+ 4+ 15+ Widely
mask 120+ 53+ 15.4+ 120+ Newly
mask-border 1+ 17.2+ 79+ Widely
mask-border-outset 1+ 17.2+ 79+ Widely
mask-border-repeat 1+ 17.2+ 79+ Widely
mask-border-slice 1+ 17.2+ 79+ Widely
mask-border-source 1+ 17.2+ 79+ Widely
mask-border-width 1+ 17.2+ 79+ Widely
mask-clip 120+ 53+ 15.4+ 120+ Newly
mask-composite 120+ 53+ 15.4+ 120+ Newly
mask-image 120+ 53+ 15.4+ 120+ Newly
mask-mode 120+ 53+ 15.4+ 120+ Newly
mask-origin 120+ 53+ 15.4+ 120+ Newly
mask-position 120+ 53+ 15.4+ 120+ Newly
mask-repeat 120+ 53+ 15.4+ 120+ Newly
mask-size 120+ 53+ 15.4+ 120+ Newly
mask-type 24+ 35+ 7+ 79+ Widely
math-depth 109+ 117+ 26.4+ 109+ Widely
math-shift 109+ 146+ 26.2+ 109+ Widely
math-style 109+ 117+ 14.1+ 109+ Widely
max-block-size 57+ 41+ 12.1+ 79+ Widely
max-height 1+ 1+ 1.3+ 12+ Widely
max-inline-size 57+ 41+ 12.1+ 79+ Widely
max-width 1+ 1+ 1+ 12+ Widely
min-block-size 57+ 41+ 12.1+ 79+ Widely
min-height 1+ 3+ 1.3+ 12+ Widely
min-inline-size 57+ 41+ 12.1+ 79+ Widely
min-width 1+ 1+ 1+ 12+ Widely
mix-blend-mode 41+ 32+ 8+ 79+ Widely
object-fit 32+ 36+ 10+ 79+ Widely
object-position 32+ 36+ 10+ 79+ Widely
object-view-box 104+ 104+ Limited
offset 55+ 72+ 16+ 79+ Widely
offset-anchor 116+ 72+ 16+ 116+ Widely
offset-distance 55+ 72+ 16+ 79+ Widely
offset-path 55+ 72+ 15.4+ 79+ Widely
offset-position 116+ 122+ 16+ 116+ Widely
offset-rotate 56+ 72+ 16+ 79+ Widely
opacity 1+ 1+ 2+ 12+ Widely
order 29+ 20+ 9+ 12+ Widely
orphans 25+ 1.3+ 12+ Widely
outline 94+ 88+ 16.4+ 94+ Widely
outline-color 1+ 1.5+ 1.2+ 12+ Widely
outline-offset 1+ 1.5+ 1.2+ 15+ Widely
outline-style 1+ 1.5+ 1.2+ 12+ Widely
outline-width 1+ 1.5+ 1.2+ 12+ Widely
overflow-anchor 56+ 66+ preview+ 79+ Limited
overflow-block 74+ 69+ 14.1+ 74+ Widely
overflow-clip-margin 90+ 102+ 90+ Limited
overflow-inline 74+ 69+ 14.1+ 74+ Widely
overflow-wrap Widely
overflow-x 1+ 3.5+ 3+ 12+ Widely
overflow-y 1+ 3.5+ 3+ 12+ Widely
overlay 117+ 117+ Limited
overscroll-behavior 63+ 59+ 16+ 18+ Widely
overscroll-behavior-block 77+ 73+ 16+ 79+ Widely
overscroll-behavior-inline 77+ 73+ 16+ 79+ Widely
overscroll-behavior-x 63+ 59+ 16+ 18+ Widely
overscroll-behavior-y 63+ 59+ 16+ 18+ Widely
padding 1+ 1+ 1+ 12+ Widely
padding-block 87+ 66+ 14.1+ 87+ Widely
padding-block-end 69+ 41+ 12.1+ 79+ Widely
padding-block-start 69+ 41+ 12.1+ 79+ Widely
padding-bottom 1+ 1+ 1+ 12+ Widely
padding-inline 87+ 66+ 14.1+ 87+ Widely
padding-inline-end 69+ 41+ 12.1+ 79+ Widely
padding-inline-start 69+ 41+ 12.1+ 79+ Widely
padding-left 1+ 1+ 1+ 12+ Widely
padding-right 1+ 1+ 1+ 12+ Widely
padding-top 1+ 1+ 1+ 12+ Widely
page-break-after 1+ 1+ 1.2+ 12+ Widely
page-break-before 1+ 1+ 1.2+ 12+ Widely
page-break-inside 1+ 19+ 1.3+ 12+ Widely
paint-order 123+ 60+ 11+ 123+ Newly
perspective 36+ 16+ 9+ 12+ Widely
perspective-origin 36+ 16+ 9+ 12+ Widely
place-content 59+ 45+ 9+ 79+ Widely
place-items 59+ 45+ 11+ 79+ Widely
place-self 59+ 45+ 11+ 79+ Widely
pointer-events 1+ 1.5+ 4+ 12+ Widely
position-anchor 125+ 125+ Limited
position-area 129+ 129+ Limited
position-try-fallbacks 128+ 128+ Limited
position-try-order 125+ 125+ Limited
position-visibility 125+ 26.2+ 125+ Limited
print-color-adjust 136+ 97+ 15.4+ 136+ Newly
quotes 11+ 1.5+ 9+ 12+ Widely
r 43+ 69+ 9+ 79+ Widely
reading-flow 137+ 137+ Limited
reading-order 137+ 137+ Limited
resize 1+ 4+ 3+ 79+ Limited
rotate 104+ 72+ 14.1+ 104+ Widely
row-gap 47+ 52+ 10.1+ 16+ Widely
ruby-align 128+ 38+ 18.2+ 128+ Newly
ruby-overhang 18.2+ Limited
ruby-position 84+ 38+ 18.2+ 84+ Newly
rx 43+ 69+ 17.4+ 79+ Widely
ry 43+ 69+ 17.4+ 79+ Widely
scale 104+ 72+ 14.1+ 104+ Widely
scroll-behavior 61+ 36+ 15.4+ 79+ Widely
scroll-initial-target 133+ 133+ Limited
scroll-margin 69+ 90+ 14.1+ 79+ Widely
scroll-margin-block 69+ 68+ 15+ 79+ Widely
scroll-margin-block-end 69+ 68+ 15+ 79+ Widely
scroll-margin-block-start 69+ 68+ 15+ 79+ Widely
scroll-margin-bottom 69+ 68+ 14.1+ 79+ Widely
scroll-margin-inline 69+ 68+ 15+ 79+ Widely
scroll-margin-inline-end 69+ 68+ 15+ 79+ Widely
scroll-margin-inline-start 69+ 68+ 15+ 79+ Widely
scroll-margin-left 69+ 68+ 14.1+ 79+ Widely
scroll-margin-right 69+ 68+ 14.1+ 79+ Widely
scroll-margin-top 69+ 68+ 14.1+ 79+ Widely
scroll-padding 69+ 68+ 14.1+ 79+ Widely
scroll-padding-block 69+ 68+ 15+ 79+ Widely
scroll-padding-block-end 69+ 68+ 15+ 79+ Widely
scroll-padding-block-start 69+ 68+ 15+ 79+ Widely
scroll-padding-bottom 69+ 68+ 14.1+ 79+ Widely
scroll-padding-inline 69+ 68+ 15+ 79+ Widely
scroll-padding-inline-end 69+ 68+ 15+ 79+ Widely
scroll-padding-inline-start 69+ 68+ 15+ 79+ Widely
scroll-padding-left 69+ 68+ 14.1+ 79+ Widely
scroll-padding-right 69+ 68+ 14.1+ 79+ Widely
scroll-padding-top 69+ 68+ 14.1+ 79+ Widely
scroll-snap-align 69+ 68+ 11+ 79+ Widely
scroll-snap-stop 75+ 103+ 15+ 79+ Widely
scroll-snap-type 69+ 99+ 11+ 79+ Widely
scroll-target-group 140+ 140+ Limited
scroll-timeline 115+ 111+ 115+ Limited
scroll-timeline-axis 115+ 111+ 115+ Limited
scroll-timeline-name 115+ 114+ 115+ Limited
scrollbar-color 121+ 64+ 26.2+ 121+ Newly
scrollbar-gutter 94+ 97+ 18.2+ 94+ Newly
scrollbar-width 121+ 64+ 18.2+ 121+ Newly
shape-image-threshold 37+ 62+ 10.1+ 79+ Widely
shape-margin 37+ 62+ 10.1+ 79+ Widely
shape-outside 37+ 62+ 10.1+ 79+ Widely
shape-rendering 1+ 3+ 4+ 79+ Widely
shape() Limited
speak 80+ 80+ Limited
speak-as 11.1+ Limited
stop-color 1+ 3+ 4+ 15+ Widely
stop-opacity 1+ 3+ 4+ 15+ Widely
stroke 1+ 1.5+ 4+ 15+ Widely
stroke-color 11.1+ Widely
stroke-dasharray 1+ 1.5+ 4+ 15+ Widely
stroke-dashoffset 1+ 1.5+ 4+ 15+ Widely
stroke-linecap 1+ 1.5+ 4+ 15+ Widely
stroke-linejoin 1+ 1.5+ 4+ 15+ Widely
stroke-miterlimit 1+ 1.5+ 4+ 15+ Widely
stroke-opacity 1+ 1.5+ 4+ 15+ Widely
stroke-width 1+ 1.5+ 4+ 15+ Widely
style() Limited
tab-size Widely
table-layout 14+ 1+ 1+ 12+ Widely
text-align 1+ 1+ 1+ 12+ Widely
text-align-all Limited
text-align-last Widely
text-anchor 1+ 3+ 4+ 14+ Widely
text-autospace 140+ 145+ 18.4+ 140+ Limited
text-box 133+ 18.2+ 133+ Limited
text-box-edge 133+ 18.2+ 133+ Limited
text-box-trim 133+ 18.2+ 133+ Limited
text-combine-upright 48+ 48+ 15.4+ 79+ Widely
text-decoration 1+ 1+ 1+ 12+ Widely
text-decoration-color 57+ 36+ 12.1+ 79+ Widely
text-decoration-inset 146+ Limited
text-decoration-line 57+ 36+ 12.1+ 79+ Widely
text-decoration-skip 57+ 12.1+ Widely
text-decoration-skip-ink 64+ 70+ 15.4+ 79+ Widely
text-decoration-style 57+ 36+ 12.1+ 79+ Widely
text-decoration-thickness 89+ 70+ 12.1+ 89+ Widely
text-emphasis 99+ 46+ 7+ 99+ Widely
text-emphasis-color 99+ 46+ 7+ 99+ Widely
text-emphasis-position 99+ 46+ 7+ 99+ Widely
text-emphasis-style 99+ 46+ 7+ 99+ Widely
text-indent 1+ 1+ 1+ 12+ Widely
text-justify Limited
text-orientation 48+ 41+ 14+ 79+ Widely
text-overflow 1+ 7+ 1.3+ 12+ Widely
text-rendering 4+ 1+ 5+ 79+ Widely
text-shadow 2+ 3.5+ 1.1+ 12+ Widely
text-size-adjust 54+ 79+ Widely
text-spacing-trim 123+ 123+ Limited
text-transform 1+ 1+ 1+ 12+ Widely
text-underline-offset 87+ 70+ 12.1+ 87+ Widely
text-underline-position 33+ 74+ 12.1+ 12+ Widely
text-wrap 114+ 121+ 17.4+ 114+ Newly
text-wrap-mode 130+ 124+ 17.4+ 130+ Newly
text-wrap-style 130+ 124+ 17.5+ 130+ Newly
timeline-scope 116+ 116+ Limited
timeline-trigger 146+ 146+ Limited
timeline-trigger-name 146+ 146+ Limited
timeline-trigger-source 146+ 146+ Limited
top 1+ 1+ 1+ 12+ Widely
touch-action 36+ 52+ 13+ 12+ Widely
transform 36+ 16+ 9+ 12+ Widely
transform-box 64+ 55+ 11+ 79+ Newly
transform-origin 36+ 16+ 9+ 12+ Widely
transform-style 36+ 16+ 9+ 12+ Widely
transition 26+ 16+ 9+ 12+ Widely
transition-behavior 117+ 129+ 17.4+ 117+ Newly
transition-delay 26+ 16+ 9+ 12+ Widely
transition-duration 26+ 16+ 9+ 12+ Widely
transition-property 26+ 16+ 9+ 12+ Widely
transition-timing-function 26+ 16+ 9+ 12+ Widely
translate 104+ 72+ 14.1+ 104+ Widely
trigger-scope 146+ 146+ Limited
unicode-bidi 2+ 1+ 1.3+ 12+ Widely
user-select 54+ 69+ 3+ 79+ Widely
vector-effect 6+ 15+ 5.1+ 79+ Widely
vertical-align 1+ 1+ 1+ 12+ Widely
view-timeline 115+ 114+ 115+ Limited
view-timeline-axis 115+ 114+ 115+ Limited
view-timeline-inset 115+ 115+ Limited
view-timeline-name 115+ 114+ 115+ Limited
view-transition-class 125+ 144+ 18.2+ 125+ Newly
view-transition-group-children 140+ 140+ Limited
view-transition-name 111+ 144+ 18+ 111+ Newly
visibility 1+ 1+ 1+ 12+ Widely
white-space 1+ 1+ 1+ 12+ Widely
white-space-collapse 114+ 124+ 17.4+ 114+ Newly
widows 25+ 1.3+ 12+ Widely
width 1+ 1+ 1+ 12+ Widely
will-change 36+ 36+ 9.1+ 79+ Widely
word-break Widely
word-spacing 1+ 1+ 1+ 12+ Widely
writing-mode 48+ 41+ 10.1+ 12+ Widely
x 42+ 69+ 9+ 79+ Widely
xr-overlay 83+ 83+ Limited
y 42+ 69+ 9+ 79+ Widely
z-index 1+ 1+ 1+ 12+ Widely
zoom 1+ 126+ 3.1+ 12+ Newly

Frequently asked

How do I check if a CSS feature is supported in my target browsers?

Use the search and filters on this page to find any CSS property, selector, at-rule, or function. The table shows the minimum version required in Chrome, Firefox, Safari, and Edge. Match these against your target browser versions to determine support. Also check the Baseline status badge to see overall adoption maturity.

What does Baseline status mean?

Widely Available means the feature shipped in all major browsers at least 2.5 years ago—safe for production without fallbacks. Newly Available means it recently reached all major browsers—consider your audience. Limited Support means some browsers don't support it—you need fallbacks or polyfills. Learn more at web-platform-dx.

Do I need a fallback for this feature?

If Baseline shows "Widely Available", no fallback is needed—all major browsers support it. If "Newly Available", consider your audience: if most users are on recent browsers, you're fine; otherwise add a fallback. If "Limited Support", always provide a fallback. Check your analytics to see what browser versions your actual users run.

What's the difference between browser support percentage and Baseline?

The global usage percentage (from caniuse) shows what percent of worldwide web traffic can use the feature right now. Baseline shows adoption maturity across major browser engines. A feature at 70% usage might still be "Limited" if Safari doesn't support it. Both matter: usage for real-world reach, Baseline for cross-browser compatibility.

How can I learn more about a specific CSS feature?

Click any feature name in the table to go to its detailed reference page, which includes examples, common pitfalls, syntax details, and links to MDN, caniuse, and the official spec. The reference explains how to use the feature and what to watch out for.

Why should I care about browser engines?

All major browsers use one of four engines: Blink (Chrome, Edge, Brave), Gecko (Firefox), WebKit (Safari), or their own. When a feature ships in all four engines, it works everywhere. If a feature only works in Blink, you're excluding Firefox and Safari users. This page groups support by engine so you see what actually works across browsers.

What are the four browser engines?

Blink powers Chrome, Edge, Brave, Opera, and most Chromium-based browsers. Developed by Google, it was forked from WebKit in 2013 and powers the majority of web traffic.

Gecko powers Firefox and Firefox-based browsers. Developed by Mozilla, it's open-source and known for strict standards compliance and unique features Firefox pioneers.

WebKit powers Safari, iOS browsers, and some Android browsers. Developed by Apple, it's open-source but required for all iOS/iPadOS apps due to App Store restrictions. This makes it critical for mobile web development.

Back to top ↑
ESC