Time to Stable

For a given set of browsers, what APIs are in all of them and how many days it take for the API to land in the first browser to the last.

Example Comparisons
Browsers
Features

Summary

A count of the number of APIs that landed in A first and B last.
Last in ChromeLast in SafariLast in Edge
First in Chrome 566663
First in Safari 121229
First in Edge 2464

Average time for an API to become available across Chrome, Safari, and Edge

2558 APIs took an average of 2100.68 days to become available to use.

API breakdown:

Average time to landing by year of first landing

If a feature landed in the earliest browser in 20XX it took Y days on average to become available in the last browser (when considering Chrome, Safari, and Edge). TTA (time to available).
CSS APIsCSS TTAHTML APIsHTML TTA
2003 2434431.531134447.87
2004 454211.04124195.00
2005 393794.1533743.00
2007 1102983.251022833.00
2008 1053412.371572529.57
2009 602704.4052249.20
2010 1033194.45542117.24
2011 492557.37282139.14
2012 461614.65242203.29
2013 1011693.0041182.00
2014 661741.58212085.19
2015 1121175.26141330.50
2016 831659.55251344.28
2017 140871.5781050.88
2018 90828.80121015.33
2019 37694.6515784.53
2020 170377.4461007.83
2021 68516.495517.60
2022 137303.238569.88
2023 76277.471069.60
2024 50129.582104.00

The Tortoise and the Hare

There is a natural tension on the web with respect to browser engines. Every engine has their own set of priorities which define the level of investment that they choose to make and on which areas they choose to make it.

A developer naturally wants their experiences to be available to the widest audience possible and these differing priorities create an unevenness on the platform (a lumpiness) making it harder for developers to build experiences that work everywhere.

This section highlights where browsers are pushing and pulling on the platform.

Sprinters

This table is designed to show which browsers are pushing on the platform the most.

Adding features to quickly is not always desired because developers are unlikely to adopt those features in their sites or apps.

For a given year, if a feature landed in Browser X first, how many days it take on average to be available in Chrome, Safari, and Edge. TTA (time to available).
Year CSSCSS TTAHTMLHTML TTA
2003
  Safari 2434431.531134447.87
2004
  Safari 454211.04124195.00
2005
  Safari 393794.1533743.00
2007
  Safari 1102983.251022833.00
2008
  Safari 502856.52212689.00
  Chrome 553917.691362504.95
2009
  Chrome 312855.0322260.00
  Safari 292543.3832242.00
2010
  Chrome 342533.76442092.66
  Safari 693520.00102225.40
2011
  Chrome 312190.48282139.14
  Safari 183189.220NaN
2012
  Chrome 441638.09172560.71
  Safari 21099.0071335.29
2013
  Chrome 761468.162908.00
  Safari 252376.5221456.00
2014
  Chrome 521762.88212085.19
  Safari 141662.430NaN
2015
  Chrome 521336.4681487.00
  Safari 181914.560NaN
  Edge 42658.8361121.83
2016
  Chrome 251654.00201436.15
  Safari 561701.0531334.00
  Edge 2567.002441.00
2017
  Chrome 109884.2371054.71
  Safari 24915.1711024.00
  Edge 7525.000NaN
2018
  Chrome 82828.549908.11
  Safari 5914.0031337.00
  Edge 3694.000NaN
2019
  Safari 14488.574614.25
  Chrome 23820.0911846.45
2020
  Safari 32648.5321402.00
  Edge 11941.551984.00
  Chrome 127260.283753.00
2021
  Chrome 48509.635517.60
  Safari 20532.950NaN
2022
  Edge 1152.363832.00
  Chrome 29318.663594.00
  Safari 97327.062140.50
2023
  Chrome 63281.95783.00
  Safari 13255.77338.33
2024
  Chrome 23168.782104.00
  Safari 2796.190NaN

Plodders

This table is designed to show which browsers are pulling on the platform the most.

For a feature that first landed in year X, how many days did it take on average for the last browser to catch up across Chrome, Safari, and Edge. TTA (time to available).
Year CSS countCSS TTAHTML countHTML TTA
2003
  Edge 2434431.531134447.87
2004
  Edge 454211.04124195.00
2005
  Edge 393794.1533743.00
2007
  Edge 1102983.251022833.00
2008
  Edge 873118.261572529.57
  Safari 184833.890NaN
2009
  Edge 592653.9252249.20
  Safari 15683.000NaN
2010
  Edge 1023174.65522080.75
  Safari 15214.0023066.00
2011
  Safari 42943.5012211.00
  Edge 442535.82272136.48
  Chrome 11961.000NaN
2012
  Safari 31981.0062844.50
  Edge 431589.09181989.56
2013
  Edge 681860.192908.00
  Safari 311370.840NaN
  Chrome 21002.0021456.00
2014
  Safari 191282.53172262.29
  Edge 451988.5841332.50
  Chrome 2545.000NaN
2015
  Safari 531023.8521752.00
  Edge 431694.1971285.57
  Chrome 16282.1951224.80
2016
  Edge 641599.86161304.81
  Safari 171943.6571692.57
  Chrome 21155.002441.00
2017
  Edge 115781.345794.40
  Safari 241331.5031478.33
  Chrome 1210.000NaN
2018
  Edge 41558.548921.13
  Safari 481057.7141203.75
  Chrome 1922.000NaN
2019
  Edge 15479.404614.25
  Safari 22841.4111846.45
2020
  Edge 32648.5321402.00
  Safari 138314.584810.75
2021
  Safari 48509.635517.60
  Edge 20532.950NaN
2022
  Safari 40245.436713.00
  Edge 95331.672140.50
  Chrome 2108.000NaN
2023
  Safari 63281.95783.00
  Edge 13255.77338.33
2024
  Safari 23168.782104.00
  Edge 2796.190NaN

Stable APIs

Below is a list of features that are in Chrome, Safari, and Edge

Raw Data

Quick Links:

CSS Data

API First Browser Date Last Browser Date Days Notes
css.at-rules.charset 📋Chrome5/21/2009 Edge7/29/20152260
Firefox: Firefox 1 supported an invalid syntax where the character encoding is not between single or double quotes.Internet Explorer: From Internet Explorer 5.5 to IE 7 (inclusive), Internet Explorer supported an invalid syntax where the character encoding is not between single or double quotes.
css.at-rules.container 📋Edge9/1/2022 Safari9/12/202211
css.at-rules.container.style_queries_for_custom_properties 📋Chrome3/7/2023 Safari9/16/2024559
Safari: The document element cannot be a container. See bug 271040.Safari on iOS: The document element cannot be a container. See bug 271040.WebView on iOS: The document element cannot be a container. See bug 271040.
css.at-rules.counter-style 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.additive-symbols 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.fallback 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.negative 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.pad 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.prefix 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.range 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.suffix 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.counter-style.symbols 📋Chrome5/25/2021 Safari9/18/2023846
Chrome: Does not support <image> as a value for the symbols descriptor.Chrome Android: Does not support <image> as a value for the symbols descriptor.Edge: Does not support <image> as a value for the symbols descriptor.Firefox: Does not support <image> as a value for the symbols descriptor.Firefox for Android: Does not support <image> as a value for the symbols descriptor.Quest Browser: Does not support <image> as a value for the symbols descriptor.Opera: Does not support <image> as a value for the symbols descriptor.Opera Android: Does not support <image> as a value for the symbols descriptor.Samsung Internet: Does not support <image> as a value for the symbols descriptor.WebView Android: Does not support <image> as a value for the symbols descriptor.
css.at-rules.counter-style.system 📋Chrome5/25/2021 Safari9/18/2023846
css.at-rules.font-face 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.OpenType_COLRv0 Chrome8/31/2016 Edge1/15/20201232
css.at-rules.font-face.OpenType_SBIX Safari3/21/2016 Edge1/15/20201395
css.at-rules.font-face.WOFF 📋Chrome9/2/2010 Edge7/29/20151791
css.at-rules.font-face.WOFF_2 📋Chrome7/16/2014 Safari9/20/2016797
Safari: Supported only on macOS 10.12 (Sierra) and later.
css.at-rules.font-face.font-display 📋Chrome7/25/2017 Edge1/15/2020904
css.at-rules.font-face.font-family 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.font-stretch 📋Safari3/27/2017 Edge4/30/2018399
css.at-rules.font-face.font-style 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.font-variant Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.font-weight 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.size-adjust 📋Chrome7/20/2021 Safari9/18/2023790
css.at-rules.font-face.src 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-face.src.format_keyword Safari6/8/2009 Edge12/5/20224928
css.at-rules.font-face.src.format_variations Safari9/19/2017 Edge4/30/2018223
css.at-rules.font-face.src.tech_keyword Chrome11/29/2022 Safari9/18/2023293
css.at-rules.font-face.unicode-range 📋Safari3/18/2008 Edge7/29/20152689
css.at-rules.font-feature-values 📋Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.annotation Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.character-variant Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.historical-forms Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.ornaments Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.styleset Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.stylistic Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-feature-values.swash Safari3/21/2016 Edge3/13/20232548
css.at-rules.font-palette-values 📋Safari3/14/2022 Edge4/28/202245
css.at-rules.font-palette-values.base-palette 📋Safari3/14/2022 Edge4/28/202245
css.at-rules.font-palette-values.font-family 📋Safari3/14/2022 Edge4/28/202245
css.at-rules.font-palette-values.override-colors 📋Safari3/14/2022 Edge4/28/202245
css.at-rules.import 📋Safari6/23/2003 Edge7/29/20154419
css.at-rules.import.layer 📋Chrome3/1/2022 Safari3/14/202213
css.at-rules.keyframes 📋Chrome5/19/2015 Safari9/30/2015134
css.at-rules.keyframes.ignore_important_declarations Chrome9/1/2015 Edge1/15/20201597
css.at-rules.layer 📋Chrome3/1/2022 Safari3/14/202213
css.at-rules.media 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.-webkit-device-pixel-ratio 📋Safari10/26/2007 Edge7/29/20152833
Firefox: Implemented as an alias for -moz-device-pixel-ratio.Firefox for Android: Implemented as an alias for -moz-device-pixel-ratio.
css.at-rules.media.-webkit-max-device-pixel-ratio 📋Safari10/26/2007 Edge7/29/20152833
Firefox: Implemented as an alias for max--moz-device-pixel-ratio.Firefox for Android: Implemented as an alias for max--moz-device-pixel-ratio.
css.at-rules.media.-webkit-min-device-pixel-ratio 📋Safari10/26/2007 Edge7/29/20152833
Firefox: Implemented as an alias for min--moz-device-pixel-ratio.Firefox for Android: Implemented as an alias for min--moz-device-pixel-ratio.
css.at-rules.media.-webkit-transform-3d 📋Chrome5/21/2009 Edge7/29/20152260
css.at-rules.media.any-hover 📋Chrome3/3/2015 Edge10/17/2017959
css.at-rules.media.any-pointer 📋Chrome3/3/2015 Safari9/30/2015211
css.at-rules.media.aspect-ratio 📋Chrome9/15/2009 Edge7/29/20152143
css.at-rules.media.calc 📋Chrome4/17/2018 Edge1/15/2020638
css.at-rules.media.color 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.color-gamut 📋Safari9/20/2016 Edge1/15/20201212
css.at-rules.media.color-index 📋Chrome8/20/2013 Edge1/15/20202339
css.at-rules.media.device-aspect-ratio 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.device-height 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.device-width 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.display-mode 📋Chrome4/14/2015 Edge1/15/20201737
Firefox: Firefox 47 and later support display-mode values fullscreen and browser. Firefox 57 added support for minimal-ui and standalone values.Firefox for Android: Only supports the browser value, which always reports true.
css.at-rules.media.dynamic-range 📋Safari3/24/2020 Edge2/3/2022681
css.at-rules.media.forced-colors 📋Edge1/15/2020 Safari9/12/2022971
css.at-rules.media.grid 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.height 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.hover 📋Chrome10/7/2014 Safari9/30/2015358
Chrome: Before Chrome 41, the implementation was buggy and reported (hover: none) on non-touch-based computers with a mouse/trackpad. See bug 40397980.Opera: Before Opera 28, the implementation was buggy and reported (hover: none) on non-touch-based computers with a mouse/trackpad. See bug 40397980.
css.at-rules.media.media_features Safari10/26/2007 Edge7/29/20152833
css.at-rules.media.monochrome 📋Safari10/26/2007 Edge1/15/20204464
css.at-rules.media.nested-queries Chrome3/26/2013 Edge7/29/2015855
css.at-rules.media.or_syntax Chrome8/2/2022 Safari3/27/2023237
css.at-rules.media.orientation 📋Chrome9/15/2009 Edge7/29/20152143
css.at-rules.media.overflow-block 📋Chrome5/2/2023 Safari9/18/2023139
css.at-rules.media.overflow-inline 📋Chrome5/2/2023 Safari9/18/2023139
css.at-rules.media.pointer 📋Chrome3/3/2015 Safari9/30/2015211
css.at-rules.media.prefers-color-scheme 📋Safari3/25/2019 Edge1/15/2020296
css.at-rules.media.prefers-contrast 📋Safari4/26/2021 Edge11/19/2021207
css.at-rules.media.prefers-reduced-motion 📋Safari3/27/2017 Edge1/15/20201024
css.at-rules.media.range_syntax Chrome8/2/2022 Safari3/27/2023237
Firefox: Only supports range notations where the feature name comes before any value (width > 500px)Firefox for Android: Only supports range notations where the feature name comes before any value (width > 500px)
css.at-rules.media.resolution 📋Chrome8/20/2013 Safari9/12/20223310
Firefox: Supports <integer> values only.Firefox for Android: Supports <integer> values only.
css.at-rules.media.scripting 📋Safari9/18/2023 Edge12/7/202380
css.at-rules.media.update 📋Chrome5/2/2023 Safari9/18/2023139
css.at-rules.media.width 📋Safari10/26/2007 Edge7/29/20152833
css.at-rules.namespace 📋Safari6/23/2003 Edge7/29/20154419
css.at-rules.page 📋Chrome5/21/2009 Safari12/11/20245683
css.at-rules.page.size 📋Chrome10/25/2011 Safari12/11/20244796
css.at-rules.page.size.jis-b4 📋Chrome5/19/2020 Safari12/11/20241667
css.at-rules.page.size.jis-b5 📋Chrome5/19/2020 Safari12/11/20241667
css.at-rules.property 📋Chrome8/25/2020 Safari3/27/2023944
css.at-rules.property.inherits 📋Chrome8/25/2020 Safari3/27/2023944
css.at-rules.property.initial-value 📋Chrome8/25/2020 Safari3/27/2023944
css.at-rules.property.syntax 📋Chrome8/25/2020 Safari3/27/2023944
css.at-rules.scope 📋Chrome10/10/2023 Safari3/5/2024147
css.at-rules.starting-style 📋Chrome9/12/2023 Safari5/13/2024244
Firefox: Does not yet support animating from display: noneFirefox for Android: Does not yet support animating from display: none
css.at-rules.supports 📋Chrome7/9/2013 Safari9/30/2015813
css.at-rules.supports.font-format Chrome11/29/2022 Safari9/18/2023293
css.at-rules.supports.font-tech Chrome11/29/2022 Safari9/18/2023293
css.at-rules.supports.selector Chrome5/19/2020 Safari4/26/2021342
css.at-rules.view-transition 📋Chrome6/11/2024 Safari12/11/2024183
css.properties.-webkit-border-before Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-border-horizontal-spacing Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-border-vertical-spacing Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-box-reflect Safari6/8/2009 Edge1/15/20203873
css.properties.-webkit-column-break-after Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-column-break-before Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-column-break-inside Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-locale Chrome4/27/2011 Edge1/15/20203185
css.properties.-webkit-logical-height Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-logical-width Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-margin-after Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-margin-before Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-mask-box-image Safari3/18/2008 Edge1/15/20204320
css.properties.-webkit-mask-composite Safari3/18/2008 Edge10/2/20183850
css.properties.-webkit-mask-position-x Safari3/18/2008 Edge10/2/20183850
css.properties.-webkit-mask-position-y Safari3/18/2008 Edge10/2/20183850
css.properties.-webkit-max-logical-height Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-max-logical-width Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-min-logical-height Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-min-logical-width Chrome12/2/2010 Edge1/15/20203331
css.properties.-webkit-perspective-origin-x Chrome5/21/2009 Edge1/15/20203891
css.properties.-webkit-perspective-origin-y Chrome5/21/2009 Edge1/15/20203891
css.properties.-webkit-rtl-ordering Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-text-combine Chrome2/3/2011 Edge1/15/20203268
css.properties.-webkit-text-fill-color 📋Safari10/26/2007 Edge7/29/20152833
css.properties.-webkit-text-security Safari10/26/2007 Edge1/15/20204464
css.properties.-webkit-text-stroke 📋Safari10/26/2007 Edge4/5/20173449
css.properties.-webkit-text-stroke-color 📋Safari10/26/2007 Edge4/5/20173449
css.properties.-webkit-text-stroke-width 📋Safari10/26/2007 Edge4/5/20173449
css.properties.-webkit-transform-origin-x Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-transform-origin-y Chrome12/11/2008 Edge1/15/20204052
css.properties.-webkit-transform-origin-z Chrome5/21/2009 Edge1/15/20203891
css.properties.-webkit-user-drag Chrome12/11/2008 Edge1/15/20204052
css.properties.accent-color 📋Chrome8/31/2021 Safari3/14/2022195
Safari: Safari does not adjust the color of glyphs (such as checkmarks) on form controls to maintain contrast. See bug 244233.Safari on iOS: Safari on iOS does not adjust the color of glyphs (such as checkmarks) on form controls to maintain contrast. See bug 244233.WebView on iOS: WebView on iOS does not adjust the color of glyphs (such as checkmarks) on form controls to maintain contrast. See bug 244233.
css.properties.accent-color.auto Chrome8/31/2021 Safari3/14/2022195
css.properties.align-content 📋Chrome8/20/2013 Safari9/30/2015771
css.properties.align-content.block_context 📋Safari3/5/2024 Edge3/22/202417
css.properties.align-content.flex_context 📋Chrome7/31/2012 Safari9/30/20151156
css.properties.align-content.flex_context.baseline Safari9/30/2015 Edge1/15/20201568
css.properties.align-content.flex_context.first_baseline Chrome6/5/2017 Edge1/15/2020954
css.properties.align-content.flex_context.safe_unsafe Chrome7/18/2023 Safari7/29/2024377
Chrome: Before version 115, this value is recognized, but has no effect.Chrome Android: Before version 115, this value is recognized, but has no effect.Edge: Before version 115, this value is recognized, but has no effect.Opera: Before version 101, this value is recognized, but has no effect.Opera Android: Before version 77, this value is recognized, but has no effect.Samsung Internet: Before version 23.0, this value is recognized, but has no effect.WebView Android: Before version 115, this value is recognized, but has no effect.
css.properties.align-content.flex_context.space-evenly Chrome7/25/2017 Edge1/15/2020904
css.properties.align-content.flex_context.start_end Chrome8/31/2021 Safari7/20/2022323
Opera: Before version 79, this value is recognized, but has no effect.Opera Android: This value is recognized, but has no effect.
css.properties.align-content.flex_context.stretch Safari9/30/2015 Edge1/15/20201568
css.properties.align-content.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.align-content.multicol_context 📋Safari3/5/2024 Edge3/22/202417
css.properties.align-items 📋Chrome8/20/2013 Safari9/30/2015771
css.properties.align-items.flex_context 📋Safari10/22/2013 Chrome7/20/20161002
Chrome: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome implements the new behavior beginning with Chrome 52.Chrome Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome Android implements the new behavior beginning with Chrome Android 52.Firefox: Multi-line flexbox has been supported since Firefox 28.Firefox for Android: Multi-line flexbox has been supported since Firefox for Android 28.Internet Explorer: In Internet Explorer 10 and 11, if column flex items have align-items: center; set on them and their content is too large, then they will overflow the bounds of their container. See Flexbug #2.Opera: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Opera implements the new behavior beginning with Opera 39.Opera Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Opera Android implements the new behavior beginning with Opera Android 41.Samsung Internet: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Samsung Internet implements the new behavior beginning with Samsung Internet 6.0.WebView Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. WebView Android implements the new behavior beginning with WebView Android 52.
css.properties.align-items.flex_context.baseline Chrome7/31/2012 Edge1/15/20202724
css.properties.align-items.flex_context.first_baseline Chrome6/5/2017 Edge1/15/2020954
css.properties.align-items.flex_context.last_baseline Chrome11/29/2022 Safari12/13/202214
css.properties.align-items.flex_context.safe_unsafe Chrome7/18/2023 Safari7/29/2024377
Chrome: Before version 115, this value is recognized, but has no effect.Chrome Android: Before version 115, this value is recognized, but has no effect.Edge: Before version 115, this value is recognized, but has no effect.Opera: Before version 101, this value is recognized, but has no effect.Opera Android: Before version 77, this value is recognized, but has no effect.Samsung Internet: Before version 23.0, this value is recognized, but has no effect.WebView Android: Before version 115, this value is recognized, but has no effect.
css.properties.align-items.flex_context.start_end Chrome8/31/2021 Safari3/14/2022195
css.properties.align-items.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.align-items.grid_context.start_end Chrome3/9/2017 Edge1/15/20201042
css.properties.align-self 📋Chrome8/20/2013 Safari9/30/2015771
css.properties.align-self.flex_context 📋Safari10/22/2013 Edge7/29/2015645
Chrome: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome implements the new behavior beginning with Chrome 52.Chrome Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome Android implements the new behavior beginning with Chrome Android 52.Firefox: Before Firefox 27, only single-line flexbox is supported.Firefox for Android: Before Firefox for Android 27, only single-line flexbox is supported.Samsung Internet: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Samsung Internet implements the new behavior beginning with Samsung Internet 6.0.WebView Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. WebView Android implements the new behavior beginning with WebView Android 52.
css.properties.align-self.flex_context.baseline Chrome7/31/2012 Edge1/15/20202724
css.properties.align-self.flex_context.first_baseline Chrome6/5/2017 Edge1/15/2020954
css.properties.align-self.flex_context.last_baseline Chrome11/29/2022 Safari12/13/202214
css.properties.align-self.flex_context.safe_unsafe Chrome7/18/2023 Safari7/29/2024377
Chrome: Before version 115, this value is recognized, but has no effect.Chrome Android: Before version 115, this value is recognized, but has no effect.Edge: Before version 115, this value is recognized, but has no effect.Opera: Before version 101, this value is recognized, but has no effect.Opera Android: Before version 77, this value is recognized, but has no effect.Samsung Internet: Before version 23.0, this value is recognized, but has no effect.WebView Android: Before version 115, this value is recognized, but has no effect.
css.properties.align-self.flex_context.start_end Chrome8/31/2021 Safari3/14/2022195
Opera: Before version 79, this value is recognized, but has no effect.
css.properties.align-self.flex_context.stretch Safari9/30/2015 Edge1/15/20201568
css.properties.align-self.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
Internet Explorer: Internet Explorer 10 and 11 have the property -ms-grid-row-align, which acts in a similar way to align-self.
css.properties.alignment-baseline 📋Chrome12/11/2008 Edge1/15/20204052
css.properties.alignment-baseline.alphabetic Chrome2/4/2020 Safari3/24/202049
css.properties.alignment-baseline.baseline Chrome12/11/2008 Edge1/15/20204052
css.properties.alignment-baseline.central Chrome12/11/2008 Edge1/15/20204052
css.properties.alignment-baseline.ideographic Chrome12/11/2008 Edge1/15/20204052
css.properties.alignment-baseline.mathematical Chrome12/11/2008 Edge1/15/20204052
css.properties.alignment-baseline.middle Chrome12/11/2008 Edge1/15/20204052
css.properties.all 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.animation 📋Chrome5/19/2015 Safari9/30/2015134
WebView Android: The animation-fill-mode property is not supported in Android browsers below 2.3.
css.properties.animation-composition 📋Safari9/12/2022 Edge4/6/2023206
css.properties.animation-delay 📋Chrome5/19/2015 Safari9/30/2015134
Firefox: Before Firefox 57, Firefox does not repaint elements outside the viewport that are animated into the viewport with a delay. This bug affects only some platforms, such as Windows.
css.properties.animation-direction 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-direction.alternate 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-direction.alternate-reverse 📋Chrome5/15/2012 Edge7/29/20151170
css.properties.animation-direction.normal 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-direction.reverse 📋Chrome5/15/2012 Edge7/29/20151170
css.properties.animation-duration 📋Chrome5/19/2015 Safari9/30/2015134
Internet Explorer: Once the element has loaded, changing the value of this property has no effect.
css.properties.animation-fill-mode 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-fill-mode.backwards 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.animation-fill-mode.both 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.animation-fill-mode.forwards 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.animation-fill-mode.none 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.animation-iteration-count 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-iteration-count.infinite 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-name 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-name.none 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-play-state 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-play-state.paused 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-play-state.running 📋Safari6/8/2009 Edge7/29/20152242
css.properties.animation-timing-function 📋Chrome5/19/2015 Safari9/30/2015134
css.properties.animation-timing-function.jump Chrome9/10/2019 Safari9/16/2020372
css.properties.appearance 📋Edge7/16/2020 Safari3/14/2022606
css.properties.appearance.auto 📋Chrome5/19/2020 Safari3/14/2022664
css.properties.appearance.button 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.checkbox 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.listbox 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.menulist 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.menulist-button 📋Safari10/26/2007 Edge7/29/20152833
Firefox: See bug 1481615.Firefox for Android: See bug 1481615.
css.properties.appearance.meter 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.none 📋Safari10/26/2007 Edge7/29/20152833
Firefox: Doesn't work with <input type="checkbox"> and <input type="radio">.Firefox for Android: Doesn't work with <input type="checkbox"> and <input type="radio">.
css.properties.appearance.progress-bar 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.radio 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.searchfield 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.textarea 📋Safari10/26/2007 Edge7/29/20152833
css.properties.appearance.textfield 📋Safari10/26/2007 Edge7/29/20152833
css.properties.aspect-ratio 📋Chrome1/19/2021 Safari9/20/2021244
css.properties.aspect-ratio.auto 📋Chrome1/19/2021 Safari9/20/2021244
css.properties.backdrop-filter 📋Chrome7/30/2019 Safari9/16/20241875
css.properties.backface-visibility 📋Chrome7/16/2014 Safari3/14/20222798
css.properties.background 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background.SVG_image_as_background Safari3/18/2008 Edge7/29/20152689
css.properties.background.background-clip Safari7/20/2011 Edge7/29/20151470
css.properties.background.background-origin Safari7/20/2011 Edge7/29/20151470
css.properties.background.background-size Safari7/20/2011 Edge7/29/20151470
css.properties.background.multiple_backgrounds Safari4/15/2005 Edge7/29/20153757
css.properties.background-attachment 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-attachment.fixed 📋Chrome12/11/2008 Safari3/14/20224841
Safari: local is recognized but has no effect. See bug 219324.Safari on iOS: fixed is recognized but has no effect. See bug 219324.WebView on iOS: fixed is recognized but has no effect. See bug 219324.
css.properties.background-attachment.local 📋Chrome12/11/2008 Safari3/14/20224841
Safari: local is recognized but has no effect. See bug 219324.Safari on iOS: local is recognized but has no effect. See bug 219324.Safari on iOS: If -webkit-overflow-scrolling: touch is set, then local has no effect.WebView on iOS: local is recognized but has no effect. See bug 219324.WebView on iOS: If -webkit-overflow-scrolling: touch is set, then local has no effect.
css.properties.background-attachment.multiple_backgrounds Safari4/15/2005 Edge7/29/20153757
css.properties.background-attachment.scroll 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-blend-mode 📋Chrome5/20/2014 Edge1/15/20202066
css.properties.background-clip 📋Chrome12/11/2008 Edge7/29/20152421
Chrome: Chrome accepts alternate synonyms to its values: padding, border, and content.Chrome Android: Chrome Android accepts alternate synonyms to its values: padding, border, and content.Edge: Since Edge 79, accepts alternate synonyms to its values: padding, border, and content.Firefox: Used the -moz-background-clip: padding | border syntax.Internet Explorer: In IE 7 and IE 8 of Internet Explorer, this property always behaved like background-clip: padding-box when overflow was hidden, auto, or scroll.Quest Browser: Quest Browser accepts alternate synonyms to its values: padding, border, and content.Opera: Opera accepts alternate synonyms to its values: padding, border, and content.Opera Android: Opera accepts alternate synonyms to its values: padding, border, and content.Safari: Safari accepts alternate synonyms to its values: padding, border, and content.Safari on iOS: Safari accepts alternate synonyms to its values: padding, border, and content.Samsung Internet: Samsung Internet accepts alternate synonyms to its values: padding, border, and content.WebView Android: WebView Android accepts alternate synonyms to its values: padding, border, and content.WebView on iOS: Safari accepts alternate synonyms to its values: padding, border, and content.
css.properties.background-clip.border-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.background-clip.content-box 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: In IE 7 and IE 9 of Internet Explorer, it always behaved like background-clip: padding-box if overflow: hidden | auto | scroll
css.properties.background-clip.padding-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.background-clip.text 📋Safari9/16/2020 Edge12/7/20231177
Chrome: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Chrome Android: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Edge: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Edge: Before Edge 15, this value was supported with the prefixed version of the property only.Firefox: Does not work with background-attachment: fixed (bug 1313757), in multi-layer backgrounds with other values (bug 1481498), and in some other special cases (see bug 1656784).Firefox for Android: Does not work with background-attachment: fixed (bug 1313757), in multi-layer backgrounds with other values (bug 1481498), and in some other special cases (see bug 1656784).Quest Browser: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Opera: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Opera Android: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).Safari: The text value is only supported by -webkit-background-clip (and not by background-clip).Safari on iOS: The text value is only supported by -webkit-background-clip (and not by background-clip).Samsung Internet: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).WebView Android: The text value is only supported by -webkit-background-clip (and not by background-clip; see bug 40229927).WebView on iOS: The text value is only supported by -webkit-background-clip (and not by background-clip).
css.properties.background-color 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: In Internet Explorer 8 and 9, there is a bug where a computed background-color of transparent causes click events to not get fired on overlaid elements.
css.properties.background-image 📋Safari6/23/2003 Edge7/29/20154419
Firefox: If the browser.display.use_document_colors user preference in about:config is set to false, background images will not be displayed.Firefox for Android: If the browser.display.use_document_colors user preference in about:config is set to false, background images will not be displayed.
css.properties.background-image.gradients 📋Chrome12/11/2008 Edge7/29/20152421
Chrome: Some versions support only experimental gradients prefixed with -webkit.Chrome Android: Some versions support only experimental gradients prefixed with -webkit.Firefox: Some versions support only experimental gradients prefixed with -moz.Firefox for Android: Some versions support only experimental gradients prefixed with -moz.Quest Browser: Some versions support only experimental gradients prefixed with -webkit.Opera: Some versions support only experimental gradients prefixed with -o.Opera Android: Some versions support only experimental gradients prefixed with -webkit.Safari: Some versions support only experimental gradients prefixed with -webkit.Safari on iOS: Some versions support only experimental gradients prefixed with -webkit.Samsung Internet: Some versions support only experimental gradients prefixed with -webkit.WebView Android: Some versions support only experimental gradients prefixed with -webkit.WebView on iOS: Some versions support only experimental gradients prefixed with -webkit.
css.properties.background-image.image-set 📋Chrome5/2/2023 Safari9/18/2023139
Chrome: Support for url images only and x is the only supported resolution unit.Chrome Android: Support for url images only and x is the only supported resolution unit.Edge: Support for url images only and x is the only supported resolution unit.Firefox: The type() function is not supported as an argument to image-set().Firefox for Android: The type() function is not supported as an argument to image-set().Quest Browser: Support for url images only and x is the only supported resolution unit.Opera: Support for url images only and x is the only supported resolution unit.Opera Android: Support for url images only and x is the only supported resolution unit.Safari: The type() function is not supported as an argument to image-set().Safari: The type() function is not supported as an argument to image-set().Safari: Support for url images only and x is the only supported resolution unit.Safari: Support for url images only and x is the only supported resolution unit.Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: Support for url images only and x is the only supported resolution unit.Safari on iOS: Support for url images only and x is the only supported resolution unit.Samsung Internet: Support for url images only and x is the only supported resolution unit.WebView Android: Support for url images only and x is the only supported resolution unit.WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: Support for url images only and x is the only supported resolution unit.WebView on iOS: Support for url images only and x is the only supported resolution unit.
css.properties.background-image.multiple_backgrounds Safari4/15/2005 Edge7/29/20153757
css.properties.background-image.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-image.svg_images Safari6/7/2010 Edge7/29/20151878
Safari: Support of SVG in CSS background is incomplete.Safari on iOS: Support of SVG in CSS background is incomplete.WebView on iOS: Support of SVG in CSS background is incomplete.
css.properties.background-origin 📋Safari10/26/2007 Edge7/29/20152833
Chrome: Chrome accepts alternate synonyms to its values: padding, border, and content.Chrome Android: Chrome Android accepts alternate synonyms to its values: padding, border, and content.Edge: Since Edge 79, accepts alternate synonyms to its values: padding, border, and content.Firefox: Used the -moz-background-clip: padding | border syntax.Internet Explorer: In IE 7 and before, Internet explorer was behaving as if background-origin: border-box was set. In Internet Explorer 8, as if background-origin: padding-box, the regular default value, was set.Quest Browser: Quest Browser accepts alternate synonyms to its values: padding, border, and content.Opera: Opera accepts alternate synonyms to its values: padding, border, and content.Opera Android: Opera accepts alternate synonyms to its values: padding, border, and content.Safari: Webkit accepts alternate synonyms to its values: padding, border, and content.Safari on iOS: Webkit accepts alternate synonyms to its values: padding, border, and content.Samsung Internet: Samsung Internet accepts alternate synonyms to its values: padding, border, and content.WebView Android: WebView accepts alternate synonyms to its values: padding, border, and content.WebView on iOS: Webkit accepts alternate synonyms to its values: padding, border, and content.
css.properties.background-origin.border-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.background-origin.content-box 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: In IE 7 and IE 9 of Internet Explorer, it always behaved like background-clip: padding if overflow: hidden | auto | scroll.
css.properties.background-origin.padding-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.background-position 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-position.bottom 📋Chrome12/11/2008 Safari3/24/20204121
css.properties.background-position.center 📋Chrome12/11/2008 Safari3/24/20204121
css.properties.background-position.left 📋Chrome12/11/2008 Safari3/24/20204121
css.properties.background-position.multiple_backgrounds Safari4/15/2005 Edge7/29/20153757
css.properties.background-position.right 📋Chrome12/11/2008 Safari3/24/20204121
css.properties.background-position.side-relative_values Chrome2/21/2013 Edge7/29/2015888
css.properties.background-position.top 📋Chrome12/11/2008 Safari3/24/20204121
css.properties.background-position-x 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-position-y 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat.2-value Chrome9/15/2009 Edge7/29/20152143
css.properties.background-repeat.multiple_backgrounds Safari4/15/2005 Edge7/29/20153757
css.properties.background-repeat.no-repeat 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat.repeat 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat.repeat-x 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat.repeat-y 📋Safari6/23/2003 Edge7/29/20154419
css.properties.background-repeat.round 📋Chrome10/1/2013 Edge7/29/2015666
css.properties.background-repeat.space 📋Chrome10/1/2013 Edge7/29/2015666
css.properties.background-size 📋Chrome9/15/2009 Edge7/29/20152143
Chrome: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Chrome Android: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Quest Browser: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Opera: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Opera: Opera 9.5's computation of the background positioning area is incorrect for fixed backgrounds. Opera 9.5 also interprets the two-value form as a horizontal scaling factor and, from appearances, a vertical clipping dimension. This has been fixed in Opera 10.Opera Android: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Opera Android: Opera 9.5's computation of the background positioning area is incorrect for fixed backgrounds. Opera 9.5 also interprets the two-value form as a horizontal scaling factor and, from appearances, a vertical clipping dimension. This has been fixed in Opera 10.Safari: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Safari on iOS: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.Samsung Internet: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.WebView Android: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.WebView on iOS: WebKit-based browsers originally implemented an older draft of CSS3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.
css.properties.background-size.auto 📋Safari10/26/2007 Edge7/29/20152833
css.properties.background-size.contain 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.background-size.cover 📋Chrome9/15/2009 Edge7/29/20152143
css.properties.baseline-shift 📋Chrome2/4/2020 Safari3/24/202049
css.properties.baseline-shift.baseline 📋Chrome2/4/2020 Safari3/24/202049
css.properties.baseline-shift.sub 📋Chrome2/4/2020 Safari3/24/202049
css.properties.baseline-shift.super 📋Chrome2/4/2020 Safari3/24/202049
css.properties.block-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.block-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.block-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.block-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.border 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-block 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-block-color 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-block-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-end-color 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-end-style 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-end-width 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-start-color 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-start-style 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-start-width 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-block-style 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-block-width 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-bottom 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-bottom-color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-bottom-left-radius 📋Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-bottom-left-radius.elliptical_corners Safari10/26/2007 Edge7/29/20152833
css.properties.border-bottom-left-radius.percentages Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 4, the <percentage> was relative to the width of the box even when specifying the radius for a height. This implied that -moz-border-radius-bottomright was always drawing an arc of circle, and never an ellipse, when followed by a single value.
css.properties.border-bottom-right-radius 📋Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-bottom-right-radius.elliptical_corners Safari10/26/2007 Edge7/29/20152833
css.properties.border-bottom-right-radius.percentages Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 4, the <percentage> was relative to the width of the box even when specifying the radius for a height. This implied that -moz-border-radius-bottomright was always drawing an arc of circle, and never an ellipse, when followed by a single value.
css.properties.border-bottom-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-bottom-width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-collapse 📋Safari2/2/2004 Edge7/29/20154195
css.properties.border-collapse.collapse Chrome2/4/2020 Safari3/24/202049
css.properties.border-collapse.separate Chrome2/4/2020 Safari3/24/202049
css.properties.border-color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-end-end-radius 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.border-end-start-radius 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.border-image 📋Chrome12/13/2011 Edge7/29/20151324
Chrome: Before Chrome 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Chrome Android: Before Chrome Android 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Edge: Before Edge 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Firefox: Small SVGs are incorrectly stretched, because percentages in border-image-slice are computed to integers instead of floats (bug 1284797).Firefox: Until Firefox 47, SVGs without viewport were not sliced correctly (bug 619500).Firefox: From Firefox 48 until Firefox 49, SVGs without viewport are displayed the same as SVGs with viewport, but if the slices are not exactly 50%, they are incorrectly stretched (bug 1264809).Firefox: Until Firefox 57, an issue persisted for SVGs without viewport when e10s was disabled (bug 1290782).Firefox: Before Firefox 15, an earlier version of the specification was implemented, prefixed.Firefox for Android: Small SVGs are incorrectly stretched, because percentages in border-image-slice are computed to integers instead of floats (bug 1284797).Firefox for Android: Until Firefox for Android 47, SVGs without viewport were not sliced correctly (bug 619500).Firefox for Android: From Firefox for Android 48 until Firefox for Android 49, SVGs without viewport are displayed the same as SVGs with viewport, but if the slices are not exactly 50%, they are incorrectly stretched (bug 1264809).Firefox for Android: Until Firefox for Android 57, an issue persisted for SVGs without viewport when e10s was disabled (bug 1290782).Firefox for Android: Before Firefox for Android 15, an earlier version of the specification was implemented, prefixed.Quest Browser: Before Quest Browser false, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Opera: Before Opera 98, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Opera Android: A border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Samsung Internet: Before Samsung Internet 23.0, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).WebView Android: Before WebView 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).
css.properties.border-image.fill Chrome12/13/2011 Edge7/29/20151324
css.properties.border-image.gradient Safari6/8/2009 Edge7/29/20152242
css.properties.border-image.optional_border_image_slice Chrome12/13/2011 Edge7/29/20151324
css.properties.border-image-outset 📋Chrome10/25/2011 Edge7/29/20151373
css.properties.border-image-repeat 📋Chrome10/25/2011 Edge7/29/20151373
css.properties.border-image-repeat.repeat 📋Chrome10/25/2011 Edge7/29/20151373
css.properties.border-image-repeat.round 📋Chrome10/1/2013 Safari3/21/2016902
css.properties.border-image-repeat.space 📋Edge7/29/2015 Chrome1/25/2017546
css.properties.border-image-repeat.stretch 📋Chrome10/25/2011 Edge7/29/20151373
css.properties.border-image-slice 📋Chrome10/25/2011 Edge7/29/20151373
Firefox: Small SVGs are incorrectly stretched, because percentages in border-image-slice are computed to integers instead of floats (bug 1284797).Firefox: Until Firefox 47, SVGs without viewport were not sliced correctly (bug 619500).Firefox: From Firefox 48 until Firefox 49, SVGs without viewport are displayed the same as SVGs with viewport, but if the slices are not exactly 50%, they are incorrectly stretched (bug 1264809).Firefox: Until Firefox 57, an issue persisted for SVGs without viewport when e10s was disabled (bug 1290782).Firefox for Android: Small SVGs are incorrectly stretched, because percentages in border-image-slice are computed to integers instead of floats (bug 1284797).Firefox for Android: Until Firefox for Android 47, SVGs without viewport were not sliced correctly (bug 619500).Firefox for Android: From Firefox for Android 48 until Firefox for Android 49, SVGs without viewport are displayed the same as SVGs with viewport, but if the slices are not exactly 50%, they are incorrectly stretched (bug 1264809).Firefox for Android: Until Firefox for Android 57, an issue persisted for SVGs without viewport when e10s was disabled (bug 1290782).
css.properties.border-image-source 📋Chrome10/25/2011 Edge7/29/20151373
css.properties.border-image-width 📋Chrome12/13/2011 Edge7/29/20151324
Chrome: Before Chrome 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Chrome Android: Before Chrome Android 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Edge: Before Edge 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Quest Browser: Before Quest Browser false, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Opera: Before Opera 98, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Opera Android: Before Opera Android 75, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).Samsung Internet: Before Samsung Internet 23.0, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).WebView Android: Before WebView Android 112, a border image's absolute or percentage length width may not take precedence over a narrower border-width (bug 40541033).
css.properties.border-image-width.auto 📋Chrome12/13/2011 Edge7/29/20151324
css.properties.border-inline 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-inline-color 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-inline-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-end-color 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-end-style 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-end-width 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-start-color 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-start-style 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-start-width 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.border-inline-style 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-inline-width 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.border-left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-left-color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-left-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox 50.
css.properties.border-left-width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-radius 📋Chrome1/25/2010 Edge7/29/20152011
Chrome: Chrome ignores border-radius on <select> elements unless -webkit-appearance is overridden to an appropriate value.Firefox: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox: To conform to the CSS3 standard, Firefox 4 changes the handling of <percentage> values to match the specification. You can specify an ellipse as a border on an arbitrary sized element with border-radius: 50%;. Firefox 4 also makes rounded corners clip content and images if overflow: visible is not set.Firefox for Android: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-style was solid. This has been fixed in Firefox 50.Opera: Before Opera 11.60, replaced elements with border-radius do not have rounded corners.Safari: Safari ignores border-radius on <select> elements unless -webkit-appearance is overridden to an appropriate value.Safari on iOS: Safari ignores border-radius on <select> elements unless -webkit-appearance is overridden to an appropriate value.WebView on iOS: Safari ignores border-radius on <select> elements unless -webkit-appearance is overridden to an appropriate value.
css.properties.border-radius.4_values_for_4_corners Chrome1/25/2010 Edge7/29/20152011
css.properties.border-radius.elliptical_borders Safari10/26/2007 Edge7/29/20152833
Chrome: Before Chrome 4, the slash / notation is unsupported. If two values are specified, then an elliptical border is drawn on all four corners. -webkit-border-radius: 40px 10px; is equivalent to border-radius: 40px / 10px;.Safari: Before Safari 5, the slash / notation is unsupported. If two values are specified, then an elliptical border is drawn on all four corners. -webkit-border-radius: 40px 10px; is equivalent to border-radius: 40px / 10px;.
css.properties.border-radius.percentages Chrome12/2/2010 Edge7/29/20151700
Firefox: Before Firefox 4, <percentage> values are implemented in a non-standard way. Both horizontal and vertical radii were relative to the width of the border box.Opera: Before Opera 11.5, the implementation of <percentage> values was buggy.
css.properties.border-right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-right-color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-right-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-bottom-style was solid. This has been fixed in Firefox 50.
css.properties.border-right-width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-spacing 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-start-end-radius 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.border-start-start-radius 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.border-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-style.dashed 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.dotted 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.double 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.groove 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.hidden 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.inset 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.outset 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.ridge 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-style.solid 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-top 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-top-color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-top-left-radius 📋Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-top-left-radius.elliptical_corners Safari10/26/2007 Edge7/29/20152833
css.properties.border-top-left-radius.percentages Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 4, the <percentage> was relative to the width of the box even when specifying the radius for a height. This implied that -moz-border-radius-bottomright was always drawing an arc of circle, and never an ellipse, when followed by a single value.
css.properties.border-top-right-radius 📋Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners were always rendered as if border-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-top-right-radius.elliptical_corners Safari10/26/2007 Edge7/29/20152833
css.properties.border-top-right-radius.percentages Chrome1/25/2010 Edge7/29/20152011
Firefox: Before Firefox 4, the <percentage> was relative to the width of the box even when specifying the radius for a height. This implied that -moz-border-radius-bottomright was always drawing an arc of circle, and never an ellipse, when followed by a single value.
css.properties.border-top-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 50, border styles of rounded corners (with border-radius) were always rendered as if border-top-style was solid. This has been fixed in Firefox 50.Firefox for Android: Before Firefox for Android 50, border styles of rounded corners (with border-radius) were always rendered as if border-top-style was solid. This has been fixed in Firefox for Android 50.
css.properties.border-top-width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.border-width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.bottom 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: In Internet Explorer versions before 7, when both top and bottom are specified, the element position is overconstrained and the top property has precedence; the computed value of bottom is set to -top, while its specified value is ignored.
css.properties.bottom.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.box-align Safari10/26/2007 Edge7/29/20152833
css.properties.box-decoration-break 📋Safari10/22/2013 Edge10/17/20244013
Chrome: This property is only supported for inline elements.Chrome Android: This property is only supported for inline elements.Edge: This property is only supported for inline elements.Quest Browser: This property is only supported for inline elements.Safari: This property is only supported for inline elements.Safari on iOS: This property is only supported for inline elements.Samsung Internet: This property is only supported for inline elements.WebView Android: This property is only supported for inline elements.WebView on iOS: This property is only supported for inline elements.
css.properties.box-decoration-break.clone 📋Safari10/22/2013 Edge10/17/20244013
Chrome: This value was only supported with the -webkit- prefix.Chrome Android: This value was only supported with the -webkit- prefix.Edge: This value was only supported with the -webkit- prefix.Quest Browser: This value was only supported with the -webkit- prefix.Opera: This value was only supported with the -webkit- prefix.Opera Android: This value was only supported with the -webkit- prefix.Samsung Internet: This value was only supported with the -webkit- prefix.WebView Android: This value was only supported with the -webkit- prefix.
css.properties.box-decoration-break.slice 📋Safari10/22/2013 Edge10/17/20244013
Chrome: This value was only supported with the -webkit- prefix.Chrome Android: This value was only supported with the -webkit- prefix.Edge: This value was only supported with the -webkit- prefix.Quest Browser: This value was only supported with the -webkit- prefix.Opera: This value was only supported with the -webkit- prefix.Opera Android: This value was only supported with the -webkit- prefix.Samsung Internet: This value was only supported with the -webkit- prefix.WebView Android: This value was only supported with the -webkit- prefix.
css.properties.box-direction Safari10/26/2007 Edge7/29/20152833
css.properties.box-flex Safari10/26/2007 Edge7/29/20152833
css.properties.box-ordinal-group Safari10/26/2007 Edge7/29/20152833
css.properties.box-orient Safari10/26/2007 Edge7/29/20152833
css.properties.box-pack Safari10/26/2007 Edge7/29/20152833
css.properties.box-shadow 📋Chrome3/8/2011 Edge7/29/20151604
Chrome: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Chrome Android: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Firefox: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Firefox for Android: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Internet Explorer: To use box-shadow in Internet Explorer 9 or later, you must set border-collapse to separate.Internet Explorer: Since version 5.5, Internet Explorer supports Microsoft's DropShadow and Shadow Filter. You can use this proprietary extension to cast a drop shadow (though the syntax and the effect are different from CSS3)Quest Browser: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Opera: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Opera Android: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Safari: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Safari on iOS: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.Samsung Internet: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.WebView Android: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.WebView on iOS: Shadows affect layout in this browser. For example, if you cast an outer shadow to a box with a width of 100%, then you'll see a scrollbar.
css.properties.box-shadow.inset Chrome12/11/2008 Edge7/29/20152421
Internet Explorer: inset must be the last keyword in the declaration.
css.properties.box-shadow.multiple_shadows Safari10/26/2007 Edge7/29/20152833
css.properties.box-shadow.spread_radius Chrome12/11/2008 Edge7/29/20152421
css.properties.box-sizing 📋Chrome3/8/2011 Edge7/29/20151604
Chrome: box-sizing is not respected when the height is calculated from window.getComputedStyle().Chrome Android: box-sizing is not respected when the height is calculated from window.getComputedStyle().Firefox: Before Firefox 23, box-sizing is not respected when the height is calculated from window.getComputedStyle().Firefox for Android: Before Firefox for Android 23, box-sizing is not respected when the height is calculated from window.getComputedStyle().Internet Explorer: box-sizing is not respected when the height is calculated from window.getComputedStyle().Quest Browser: box-sizing is not respected when the height is calculated from window.getComputedStyle().Opera Android: box-sizing is not respected when the height is calculated from window.getComputedStyle().Samsung Internet: box-sizing is not respected when the height is calculated from window.getComputedStyle().WebView Android: box-sizing is not respected when the height is calculated from window.getComputedStyle().
css.properties.box-sizing.border-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.box-sizing.content-box 📋Safari10/26/2007 Edge7/29/20152833
css.properties.break-after 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-after.auto Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.avoid Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.avoid-column Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.avoid-page Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.column Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.left Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.page Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.paged_context 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-after.paged_context.avoid-page Edge7/29/2015 Safari9/20/2016419
css.properties.break-after.paged_context.page Edge7/29/2015 Safari9/20/2016419
css.properties.break-after.recto Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.right Chrome2/4/2020 Safari3/24/202049
css.properties.break-after.verso Chrome2/4/2020 Safari3/24/202049
css.properties.break-before 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-before.auto Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.avoid Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.avoid-column Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.avoid-page Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.column Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.left Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.page Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.paged_context 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-before.paged_context.page Edge7/29/2015 Safari9/20/2016419
css.properties.break-before.recto Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.right Chrome2/4/2020 Safari3/24/202049
css.properties.break-before.verso Chrome2/4/2020 Safari3/24/202049
css.properties.break-inside 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-inside.auto Chrome2/4/2020 Safari3/24/202049
css.properties.break-inside.avoid Chrome2/4/2020 Safari3/24/202049
css.properties.break-inside.avoid-column Chrome2/4/2020 Safari3/24/202049
css.properties.break-inside.avoid-page Chrome2/4/2020 Safari3/24/202049
css.properties.break-inside.multicol_context 📋Edge7/29/2015 Safari9/20/2016419
css.properties.break-inside.multicol_context.avoid-column Edge7/29/2015 Safari9/20/2016419
css.properties.break-inside.paged_context 📋Edge7/29/2015 Safari9/20/2016419
css.properties.caption-side 📋Safari6/23/2003 Edge7/29/20154419
css.properties.caption-side.bottom Chrome2/4/2020 Safari3/24/202049
css.properties.caption-side.top Chrome2/4/2020 Safari3/24/202049
css.properties.caret-color 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.clear 📋Safari6/23/2003 Edge7/29/20154419
css.properties.clear.both 📋Safari6/23/2003 Edge7/29/20154419
css.properties.clear.inline-end 📋Safari9/20/2021 Edge10/13/2023753
css.properties.clear.inline-start 📋Safari9/20/2021 Edge10/13/2023753
css.properties.clear.left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.clear.right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.clip 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Before Internet Explorer 7, Internet Explorer incorrectly interprets clip: auto as clip: rect(auto, auto, auto, auto).Safari: Safari incorrectly interprets clip: auto as clip: rect(auto, auto, auto, auto).Safari on iOS: Safari on iOS incorrectly interprets clip: auto as clip: rect(auto, auto, auto, auto).WebView on iOS: WebView on iOS incorrectly interprets clip: auto as clip: rect(auto, auto, auto, auto).
css.properties.clip.auto Chrome2/4/2020 Safari3/24/202049
css.properties.clip-path 📋Safari3/21/2016 Edge1/15/20201395
Edge: Only supports clip paths defined by url().Internet Explorer: Only supports clip paths defined by url().
css.properties.clip-path.basic_shape 📋Chrome11/6/2012 Edge1/15/20202626
css.properties.clip-path.fill-box 📋Safari3/24/2020 Edge11/2/20231318
Firefox: This value was supported before Firefox 51, but as an alias to border-box.Firefox for Android: This value was supported before Firefox for Android 51, but as an alias to border-box.
css.properties.clip-path.html_elements Chrome11/6/2012 Edge1/15/20202626
css.properties.clip-path.path Safari3/24/2020 Edge1/21/2021303
css.properties.clip-path.stroke-box 📋Safari3/24/2020 Edge11/2/20231318
Firefox: This value was supported before Firefox 51, but as an alias to border-box.Firefox for Android: This value was supported before Firefox for Android 51, but as an alias to border-box.
css.properties.clip-path.svg_elements Chrome11/6/2012 Edge7/29/2015995
css.properties.clip-path.view-box 📋Safari3/24/2020 Edge11/2/20231318
css.properties.clip-rule 📋Safari6/7/2010 Edge1/15/20203509
css.properties.clip-rule.evenodd 📋Safari6/7/2010 Edge1/15/20203509
css.properties.clip-rule.nonzero 📋Safari6/7/2010 Edge1/15/20203509
css.properties.color 📋Safari6/23/2003 Edge7/29/20154419
css.properties.color-interpolation 📋Chrome2/4/2020 Safari3/24/202049
Chrome: Only the default value of sRGB is implementedChrome Android: Only the default value of sRGB is implementedEdge: Only the default value of sRGB is implementedQuest Browser: Only the default value of sRGB is implementedOpera: Only the default value of sRGB is implementedOpera Android: Only the default value of sRGB is implementedSafari: Only the default value of sRGB is implementedSafari on iOS: Only the default value of sRGB is implementedSamsung Internet: Only the default value of sRGB is implementedWebView Android: Only the default value of sRGB is implementedWebView on iOS: Only the default value of sRGB is implemented
css.properties.color-interpolation.sRGB Chrome2/4/2020 Safari3/24/202049
css.properties.color-interpolation-filters 📋Safari10/26/2007 Edge1/15/20204464
css.properties.color-interpolation-filters.auto 📋Safari10/26/2007 Edge1/15/20204464
css.properties.color-interpolation-filters.linearRGB 📋Chrome7/9/2013 Edge1/15/20202381
css.properties.color-interpolation-filters.sRGB 📋Chrome7/9/2013 Edge1/15/20202381
css.properties.color-scheme 📋Safari9/19/2019 Edge4/13/2020207
css.properties.color-scheme.dark Safari9/19/2019 Edge4/13/2020207
css.properties.color-scheme.light Safari9/19/2019 Edge4/13/2020207
css.properties.color-scheme.normal Safari9/19/2019 Edge4/13/2020207
css.properties.color-scheme.only_dark Safari9/19/2019 Edge2/3/2022868
css.properties.color-scheme.only_light Safari9/19/2019 Edge2/3/2022868
css.properties.column-count 📋Edge7/29/2015 Chrome4/13/2016259
Firefox: Before version 37, multiple columns didn't work with display: table-caption elements.Firefox for Android: Before version 37, multiple columns didn't work with display: table-caption elements.
css.properties.column-count.auto 📋Safari10/26/2007 Edge7/29/20152833
css.properties.column-fill 📋Edge7/29/2015 Chrome4/13/2016259
css.properties.column-fill.auto 📋Safari10/16/2014 Chrome4/13/2016545
css.properties.column-fill.balance 📋Safari10/16/2014 Chrome4/13/2016545
css.properties.column-gap 📋Safari10/26/2007 Edge7/29/20152833
css.properties.column-gap.flex_context 📋Edge7/16/2020 Safari4/26/2021284
css.properties.column-gap.grid_context 📋Edge10/17/2017 Safari9/17/2018335
css.properties.column-gap.multicol_context 📋Edge7/29/2015 Safari9/20/2016419
Firefox: Before Firefox 3, the default value for the normal keyword was 0 and not 1em.
css.properties.column-gap.multicol_context.calc_values Edge10/17/2017 Safari3/25/2019524
css.properties.column-gap.multicol_context.percentage_values Edge10/17/2017 Safari9/17/2018335
css.properties.column-rule 📋Edge7/29/2015 Chrome4/13/2016259
Firefox: Before Firefox 3, the default value for the normal keyword was 0 and not 1em.
css.properties.column-rule-color 📋Edge7/29/2015 Chrome4/13/2016259
css.properties.column-rule-style 📋Edge7/29/2015 Chrome4/13/2016259
css.properties.column-rule-width 📋Edge7/29/2015 Chrome4/13/2016259
css.properties.column-span 📋Edge7/29/2015 Chrome4/13/2016259
css.properties.column-span.all 📋Chrome9/2/2010 Edge7/29/20151791
css.properties.column-span.none 📋Chrome9/2/2010 Edge7/29/20151791
css.properties.column-width 📋Edge7/29/2015 Chrome4/13/2016259
Firefox: Before version 37, multiple columns didn't work with display: table-caption elements.Firefox for Android: Before version 37, multiple columns didn't work with display: table-caption elements.
css.properties.column-width.auto Safari10/26/2007 Edge7/29/20152833
css.properties.columns 📋Edge7/29/2015 Chrome4/13/2016259
Firefox: Before version 37, multiple columns didn't work with display: table-caption elements.Firefox for Android: Before version 37, multiple columns didn't work with display: table-caption elements.
css.properties.contain 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.content 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.inline-size 📋Edge9/1/2022 Safari9/12/202211
css.properties.contain.layout 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.none 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.paint 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.size 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.strict 📋Chrome7/20/2016 Safari3/14/20222063
css.properties.contain.style 📋Chrome7/20/2016 Safari3/14/20222063
Chrome: Before Chrome 115, style containment did not affect quotes, see bug 40592922.Chrome Android: Before Chrome Android 115, style containment did not affect quotes, see bug 40592922.Edge: Before Edge 115, style containment did not affect quotes, see bug 40592922.Quest Browser: Before Quest Browser false, style containment did not affect quotes, see bug 40592922.Opera: Before Opera 101, style containment did not affect quotes, see bug 40592922.Opera Android: Before Opera Android 77, style containment did not affect quotes, see bug 40592922.Safari: Style containment does not affect quotes, see bug 232083.Safari on iOS: Style containment does not affect quotes, see bug 232083.Samsung Internet: Before Samsung Internet 23.0, style containment did not affect quotes, see bug 40592922.WebView Android: Before WebView Android 115, style containment did not affect quotes, see bug 40592922.WebView on iOS: Style containment does not affect quotes, see bug 232083.
css.properties.contain-intrinsic-block-size 📋Chrome10/19/2021 Safari9/18/2023699
css.properties.contain-intrinsic-block-size.none 📋Chrome2/1/2022 Safari9/18/2023594
css.properties.contain-intrinsic-height 📋Chrome10/19/2021 Safari9/18/2023699
css.properties.contain-intrinsic-height.none 📋Chrome2/1/2022 Safari9/18/2023594
css.properties.contain-intrinsic-inline-size 📋Chrome10/19/2021 Safari9/18/2023699
css.properties.contain-intrinsic-inline-size.none 📋Chrome2/1/2022 Safari9/18/2023594
css.properties.contain-intrinsic-size 📋Chrome5/19/2020 Safari9/18/20231217
css.properties.contain-intrinsic-size.auto_none Chrome9/12/2023 Safari9/18/20236
css.properties.contain-intrinsic-size.none 📋Chrome2/1/2022 Safari9/18/2023594
css.properties.contain-intrinsic-width 📋Chrome10/19/2021 Safari9/18/2023699
css.properties.contain-intrinsic-width.none 📋Chrome2/1/2022 Safari9/18/2023594
css.properties.container 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-name 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-name.none 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-type 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-type.inline-size 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-type.normal 📋Edge9/1/2022 Safari9/12/202211
css.properties.container-type.size 📋Edge9/1/2022 Safari9/12/202211
css.properties.content 📋Safari6/23/2003 Edge7/29/20154419
css.properties.content.alt_text Chrome9/10/2019 Safari3/5/20241638
css.properties.content.element_replacement Chrome7/9/2013 Edge1/15/20202381
css.properties.content.gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: content: <gradient> doesn't paint on ::before/::after pseudo elements. See bug 1832901.Firefox for Android: content: <gradient> doesn't paint on ::before/::after pseudo elements. See bug 1832901.
css.properties.content.image-set 📋Chrome5/2/2023 Safari9/18/2023139
Chrome: Support for url images only and x is the only supported resolution unit.Chrome Android: Support for url images only and x is the only supported resolution unit.Edge: Support for url images only and x is the only supported resolution unit.Firefox: The type() function is not supported as an argument to image-set().Firefox for Android: The type() function is not supported as an argument to image-set().Quest Browser: Support for url images only and x is the only supported resolution unit.Opera: Support for url images only and x is the only supported resolution unit.Opera Android: Support for url images only and x is the only supported resolution unit.Safari: The type() function is not supported as an argument to image-set().Safari: The type() function is not supported as an argument to image-set().Safari: Support for url images only and x is the only supported resolution unit.Safari: Support for url images only and x is the only supported resolution unit.Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: Support for url images only and x is the only supported resolution unit.Safari on iOS: Support for url images only and x is the only supported resolution unit.Samsung Internet: Support for url images only and x is the only supported resolution unit.WebView Android: Support for url images only and x is the only supported resolution unit.WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: Support for url images only and x is the only supported resolution unit.WebView on iOS: Support for url images only and x is the only supported resolution unit.
css.properties.content.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.content.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.content.url 📋Safari6/23/2003 Edge7/29/20154419
css.properties.content-visibility 📋Chrome8/25/2020 Safari9/16/20241483
css.properties.content-visibility.auto 📋Chrome8/25/2020 Safari9/16/20241483
Safari: Skipped content is not findable via find-in-page.Safari on iOS: Skipped content is not findable via find-in-page.WebView on iOS: Skipped content is not findable via find-in-page.
css.properties.content-visibility.hidden 📋Chrome8/25/2020 Safari9/16/20241483
css.properties.content-visibility.is_transitionable 📋Chrome9/12/2023 Safari9/16/2024370
css.properties.content-visibility.keyframe_animatable 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.content-visibility.visible 📋Chrome8/25/2020 Safari9/16/20241483
css.properties.counter-increment 📋Safari10/26/2007 Edge7/29/20152833
css.properties.counter-increment.list-item 📋Chrome7/9/2013 Safari9/30/2015813
css.properties.counter-increment.none 📋Safari10/26/2007 Edge7/29/20152833
css.properties.counter-reset 📋Safari10/26/2007 Edge7/29/20152833
css.properties.counter-reset.list-item 📋Chrome7/9/2013 Safari9/30/2015813
Chrome: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.Chrome Android: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.Quest Browser: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.Opera: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.Opera Android: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.Safari: Overriding the initial value of the implicit list-item counter results in incorrect values for the counter() function used to generate content, as it is not fully implemented; see bug 260436.Safari on iOS: Overriding the initial value of the implicit list-item counter results in incorrect values for the counter() function used to generate content, as it is not fully implemented; see bug 260436.Samsung Internet: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.WebView Android: Overriding the initial value of the implicit list-item counter has no effect when the default marker string for list items (::marker) is generated; see bug 338233131.WebView on iOS: Overriding the initial value of the implicit list-item counter results in incorrect values for the counter() function used to generate content, as it is not fully implemented; see bug 260436.
css.properties.counter-reset.none 📋Safari10/26/2007 Edge7/29/20152833
css.properties.counter-set 📋Chrome8/25/2020 Safari12/11/20231203
css.properties.counter-set.list-item 📋Chrome8/25/2020 Safari12/11/20231203
css.properties.counter-set.none 📋Chrome8/25/2020 Safari12/11/20231203
css.properties.cursor 📋Safari2/2/2004 Edge7/29/20154195
Firefox: Starting in Firefox 67, the maximum size allowed for custom cursors is 32x32 pixels due to cursors being misused by certain malicious sites.Internet Explorer: In Internet Explorer 11, when cursor is applied to an element and this element is underneath an open <select> menu and the user hovers over a <select> menu item that's on top of said element, the cursor for said element will be displayed rather than the <select>'s normal cursor. See bug 817822.Safari on iOS: This property is only supported on iPads with an external pointing device.Safari on iOS: Unsupported values use the default pointer as a fallback.WebView on iOS: This property is only supported on iPads with an external pointing device.WebView on iOS: Unsupported values use the default pointer as a fallback.
css.properties.cursor.alias 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.all-scroll 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.auto 📋Safari2/2/2004 Edge7/29/20154195
css.properties.cursor.cell 📋Safari10/26/2007 Edge7/29/20152833
css.properties.cursor.col-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.context-menu 📋Safari10/26/2007 Edge7/29/20152833
Chrome: This cursor is only supported on macOS and Linux.Chrome Android: This cursor is only supported on macOS and Linux.Firefox: This cursor is only supported on macOS and Linux.Quest Browser: This cursor is only supported on macOS and Linux.Opera Android: This cursor is only supported on macOS and Linux.Safari on iOS: If this value is used, the iPad will display the default pointer instead.Samsung Internet: This cursor is only supported on macOS and Linux.WebView Android: This cursor is only supported on macOS and Linux.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.copy 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.crosshair 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.default 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.e-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.ew-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.grab Edge8/2/2016 Chrome7/24/2018721
Chrome: Chrome also continues to support the prefixed versions.Chrome: Chrome 22 added Windows support.Chrome Android: Chrome Android also continues to support the prefixed versions.Chrome Android: Chrome Android 25 added Windows support.Quest Browser: Quest Browser also continues to support the prefixed versions.Quest Browser: Quest Browser 5.0 added Windows support.Opera: Opera also continues to support the prefixed versions.Opera: Opera 22 added Windows support.Opera Android: Opera also continues to support the prefixed versions.Opera Android: Opera 22 added Windows support.Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView Android: WebView Android also continues to support the prefixed versions.WebView Android: WebView Android 4.4 added Windows support.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.grabbing 📋Safari9/19/2017 Edge1/15/2020848
Chrome: Chrome 22 added Windows support.Chrome Android: Chrome Android 25 added Windows support.Edge: Edge 79 added Windows support.Quest Browser: Quest Browser 5.0 added Windows support.Opera: Opera 15 added Windows support.Opera Android: Opera Android 14 added Windows support.Safari on iOS: If this value is used, the iPad will display the default pointer instead.Samsung Internet: Samsung Internet 1.5 added Windows support.WebView Android: WebView Android 4.4 added Windows support.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.help 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.move 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.n-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.ne-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.nesw-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.no-drop 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.none 📋Chrome5/25/2010 Edge7/29/20151891
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.not-allowed 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.ns-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.nw-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.nwse-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.pointer 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.progress 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.row-resize 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.s-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.se-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.sw-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.text 📋Safari2/2/2004 Edge7/29/20154195
css.properties.cursor.url Safari10/26/2007 Edge7/29/20152833
Firefox: Firefox 4 added macOS support.
css.properties.cursor.url_positioning_syntax Safari10/26/2007 Edge1/15/20204464
Firefox: Firefox 4 added macOS support.Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.vertical-text 📋Safari10/26/2007 Edge7/29/20152833
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.w-resize 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.wait 📋Safari2/2/2004 Edge7/29/20154195
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.zoom-in 📋Chrome8/26/2014 Safari9/30/2015400
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.cursor.zoom-out 📋Chrome8/26/2014 Safari9/30/2015400
Safari on iOS: If this value is used, the iPad will display the default pointer instead.WebView on iOS: If this value is used, the iPad will display the default pointer instead.
css.properties.custom-property 📋Chrome3/2/2016 Edge4/5/2017399
css.properties.custom-property.env 📋Safari4/12/2018 Edge1/15/2020643
css.properties.custom-property.env.safe-area-inset-bottom 📋Safari9/19/2017 Edge1/15/2020848
css.properties.custom-property.env.safe-area-inset-left 📋Safari9/19/2017 Edge1/15/2020848
css.properties.custom-property.env.safe-area-inset-right 📋Safari9/19/2017 Edge1/15/2020848
css.properties.custom-property.env.safe-area-inset-top 📋Safari9/19/2017 Edge1/15/2020848
css.properties.custom-property.var 📋Chrome3/2/2016 Edge4/5/2017399
css.properties.cx 📋Chrome2/4/2020 Safari3/24/202049
css.properties.cy 📋Chrome2/4/2020 Safari3/24/202049
css.properties.direction 📋Safari6/23/2003 Edge7/29/20154419
css.properties.direction.ltr 📋Safari6/23/2003 Edge7/29/20154419
css.properties.direction.rtl 📋Safari6/23/2003 Edge7/29/20154419
css.properties.direction.vertical_slider_direction Safari5/18/2023 Edge4/18/2024336
Firefox: Only supported for vertical range sliders.Firefox for Android: Only supported for vertical range sliders.Safari: Only supported for vertical range sliders.Safari on iOS: Only supported for vertical range sliders.WebView on iOS: Only supported for vertical range sliders.
css.properties.display 📋Safari6/23/2003 Edge7/29/20154419
css.properties.display.block 📋Safari6/23/2003 Edge7/29/20154419
css.properties.display.contents 📋Chrome3/6/2018 Edge1/15/2020680
css.properties.display.flex Chrome8/20/2013 Safari9/30/2015771
Firefox: Firefox 28 added multi-line flexbox support.Firefox for Android: Firefox for Android 28 added multi-line flexbox support.Internet Explorer: IE incorrectly positions inline block content inside flex containers. See the discussion on Microsoft Answers.Internet Explorer: IE incorrectly positions inline block content inside flex containers. See the discussion on Microsoft Answers.
css.properties.display.flow-root Chrome4/19/2017 Edge1/15/20201001
css.properties.display.grid Chrome3/9/2017 Edge10/17/2017222
Internet Explorer: Internet Explorer implements an older version of the specification.Samsung Internet: Samsung Internet added this earlier than the corresponding Chrome version would indicate.
css.properties.display.inline 📋Safari6/23/2003 Edge7/29/20154419
css.properties.display.inline-block Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Until Internet Explorer 8, inline-block is only for natural inline elements.
css.properties.display.inline-flex Chrome8/20/2013 Safari9/30/2015771
Firefox: Firefox 28 added multi-line flexbox support.Firefox for Android: Firefox for Android 28 added multi-line flexbox support.
css.properties.display.inline-grid Chrome3/9/2017 Edge10/17/2017222
Internet Explorer: Internet Explorer implements an older version of the specification.Samsung Internet: Samsung Internet added this earlier than the corresponding Chrome version would indicate.
css.properties.display.inline-table Safari6/23/2003 Edge7/29/20154419
css.properties.display.is_transitionable 📋Chrome9/12/2023 Safari9/16/2024370
css.properties.display.keyframe_animatable 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.display.list-item 📋Safari6/23/2003 Edge7/29/20154419
css.properties.display.multi-keyword_values Safari9/20/2021 Edge7/21/2023669
css.properties.display.none 📋Safari6/23/2003 Edge7/29/20154419
Chrome: Chrome 65 stopped creating layout objects for elements inside an <iframe> with display:none applied.Chrome Android: Chrome Android 65 stopped creating layout objects for elements inside an <iframe> with display:none applied.Quest Browser: Quest Browser 5.0 stopped creating layout objects for elements inside an <iframe> with display:none applied.Opera: Opera 52 stopped creating layout objects for elements inside an <iframe> with display:none applied.Opera Android: Opera Android 47 stopped creating layout objects for elements inside an <iframe> with display:none applied.Samsung Internet: Chrome 65 stopped creating layout objects for elements inside an <iframe> with display:none applied.WebView Android: WebView Android 65 stopped creating layout objects for elements inside an <iframe> with display:none applied.
css.properties.display.table Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-caption Chrome2/4/2020 Safari3/24/202049
css.properties.display.table-cell Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-column Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-column-group Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-footer-group Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-header-group Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-row Safari6/23/2003 Edge7/29/20154419
css.properties.display.table-row-group Safari6/23/2003 Edge7/29/20154419
css.properties.dominant-baseline 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.alphabetic 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.auto 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.central 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.hanging 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.ideographic 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.mathematical 📋Chrome2/4/2020 Safari3/24/202049
css.properties.dominant-baseline.middle 📋Chrome2/4/2020 Safari3/24/202049
css.properties.empty-cells 📋Safari2/2/2004 Edge7/29/20154195
css.properties.fill 📋Chrome2/4/2020 Safari3/24/202049
css.properties.fill-opacity 📋Chrome2/4/2020 Safari3/24/202049
css.properties.fill-rule 📋Chrome2/4/2020 Safari3/24/202049
css.properties.fill-rule.evenodd 📋Chrome2/4/2020 Safari3/24/202049
css.properties.fill-rule.nonzero 📋Chrome2/4/2020 Safari3/24/202049
css.properties.filter 📋Edge7/29/2015 Chrome8/31/2016399
Chrome: In Chrome 18 to 19, the saturate() function only takes integers instead of decimal or percentage values. From Chrome 20, this bug is fixed.Internet Explorer: Internet Explorer 4 to 9 implemented a non-standard filter property. The syntax was completely different from this one and is not documented here.
css.properties.flex 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox: Before Firefox 32, Firefox wasn't able to animate values starting or stopping at 0.Firefox: Until Firefox 61, flex items that are sized according to their content are sized using fit-content, not max-content.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.Firefox for Android: Before Firefox for Android 32, Firefox for Android wasn't able to animate values starting or stopping at 0.Firefox for Android: Until Firefox for Android 61, flex items that are sized according to their content are sized using fit-content, not max-content.Internet Explorer: Internet Explorer 11 ignores uses of calc() in the flex-basis part of the flex syntax. This can be worked around by using the longhand properties instead of the shorthand. See Flexbug #8 for more info.Internet Explorer: Internet Explorer 11 considers a unitless value in the flex-basis part to be syntactically invalid (and will thus be ignored). A workaround is to always include a unit in the flex-basis part of the flex shorthand value. See Flexbug #4 for more info.Internet Explorer: Internet Explorer 10 and 11 ignore uses of calc() in the flex-basis part of the flex syntax. This can be worked around by using the longhand properties instead of the shorthand. See Flexbug #8 for more info.Internet Explorer: Internet Explorer 10 and 11 consider a unitless value in the flex-basis part to be syntactically invalid (and will thus be ignored). A workaround is to always include a unit in the flex-basis part of the flex shorthand value. See Flexbug #4 for more info.
css.properties.flex.none 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.flex-basis 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.Internet Explorer: When a non-auto flex-basis is specified, Internet Explorer 10 and 11 always uses a content-box box model to calculate the size of a flex item, even if box-sizing: border-box is applied to the element. See Flexbug #7 for more info.
css.properties.flex-basis.auto Chrome9/25/2012 Safari9/30/20151100
css.properties.flex-basis.content Chrome9/21/2021 Safari3/14/2022174
css.properties.flex-basis.fit-content Chrome9/21/2021 Safari9/12/2022356
css.properties.flex-basis.max-content Chrome9/21/2021 Safari9/12/2022356
css.properties.flex-basis.min-content Chrome9/21/2021 Safari9/12/2022356
css.properties.flex-direction 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.
css.properties.flex-direction.column 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.flex-direction.column-reverse 📋Chrome7/31/2012 Edge7/29/20151093
Firefox: Before Firefox 81, overflow with column-reverse was unsupported. See bug 1042151.Firefox for Android: Before Firefox for Android 81, overflow with column-reverse was unsupported. See bug 1042151.
css.properties.flex-direction.row 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.flex-direction.row-reverse 📋Chrome7/31/2012 Edge7/29/20151093
Firefox: Before Firefox 81, overflow with column-reverse was unsupported. See bug 1042151.Firefox for Android: Before Firefox for Android 81, overflow with column-reverse was unsupported. See bug 1042151.
css.properties.flex-flow 📋Chrome8/20/2013 Safari9/30/2015771
css.properties.flex-grow 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.
css.properties.flex-shrink 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox: Before Firefox 32, Firefox wasn't able to animate values starting or stopping at 0.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.Firefox for Android: Before Firefox for Android 32, Firefox for Android wasn't able to animate values starting or stopping at 0.Internet Explorer: Internet Explorer 10 uses 0 instead of 1 as the initial value for the flex-shrink property. A workaround is to always set an explicit value for flex-shrink. See Flexbug #6 for more info.
css.properties.flex-wrap 📋Chrome8/20/2013 Safari9/30/2015771
Internet Explorer: Partial support due to large number of bugs present. See Flexbugs.
css.properties.flex-wrap.nowrap 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.flex-wrap.wrap 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.flex-wrap.wrap-reverse 📋Chrome7/31/2012 Edge7/29/20151093
css.properties.float 📋Safari6/23/2003 Edge7/29/20154419
css.properties.float.inline-end 📋Safari9/20/2021 Edge10/13/2023753
css.properties.float.inline-start 📋Safari9/20/2021 Edge10/13/2023753
css.properties.float.left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.float.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.float.right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.flood-color 📋Chrome5/25/2010 Edge7/29/20151891
css.properties.flood-opacity 📋Chrome5/25/2010 Edge7/29/20151891
css.properties.font 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font.caption Safari6/23/2003 Edge7/29/20154419
css.properties.font.font_stretch_support Chrome7/25/2017 Edge1/15/2020904
css.properties.font.icon Safari6/23/2003 Edge7/29/20154419
css.properties.font.menu Safari6/23/2003 Edge7/29/20154419
css.properties.font.message-box Safari6/23/2003 Edge7/29/20154419
css.properties.font.small-caption Safari6/23/2003 Edge7/29/20154419
css.properties.font.status-bar Safari6/23/2003 Edge7/29/20154419
css.properties.font-family 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Not supported on option elements. See bug 1536148.
css.properties.font-family.system-ui Chrome1/25/2017 Edge1/15/20201085
Firefox: Supported on macOS only.
css.properties.font-feature-settings 📋Chrome1/20/2016 Edge4/5/2017441
Firefox: The ISO/IEC CD 14496-22 3rd edition suggests using the ssty feature to provide glyph variants more suitable for use in scripts (for example primes used as superscripts). Starting with Firefox 29, this is done automatically by the MathML rendering engine. The ISO/IEC CD 14496-22 3rd edition also suggests applying the dtls feature to letters when placing mathematical accents to get dotless forms (for example dotless i, j with a hat). Starting with Firefox 35, this is done automatically by the MathML rendering engine. You can override the default values determined by the MathML rendering engine with CSS.Firefox: From Firefox 129 the -webkit-font-feature-settings alias has been added to support sites that are still supporting the vendor prefix.Firefox: From Firefox 4 to Firefox 14 (inclusive), Firefox supported an older, slightly different syntax. See OpenType Font Feature support in Firefox 4.Firefox for Android: The ISO/IEC CD 14496-22 3rd edition suggests using the ssty feature to provide glyph variants more suitable for use in scripts (for example primes used as superscripts). Starting with Firefox for Android 29, this is done automatically by the MathML rendering engine. The ISO/IEC CD 14496-22 3rd edition also suggests applying the dtls feature to letters when placing mathematical accents to get dotless forms (for example dotless i, j with a hat). Starting with Firefox for Android 35, this is done automatically by the MathML rendering engine. You can override the default values determined by the MathML rendering engine with CSS.Firefox for Android: From Firefox for Android 129 the -webkit-font-feature-settings alias has been added to support sites that are still supporting the vendor prefix.Firefox for Android: From Firefox for Android 4 to Firefox for Android 14 (inclusive), Firefox for Android supported an older, slightly different syntax. See OpenType Font Feature support in Firefox for Android 4.
css.properties.font-feature-settings.normal 📋Chrome12/13/2011 Edge4/5/20171940
css.properties.font-kerning 📋Chrome2/20/2014 Edge1/15/20202155
css.properties.font-optical-sizing 📋Edge4/30/2018 Safari3/24/2020694
css.properties.font-optical-sizing.auto 📋Edge4/30/2018 Safari3/24/2020694
css.properties.font-optical-sizing.none 📋Edge4/30/2018 Safari3/24/2020694
css.properties.font-palette 📋Safari3/14/2022 Edge4/28/202245
css.properties.font-palette.dark 📋Safari3/14/2022 Edge4/28/202245
css.properties.font-palette.light 📋Safari3/14/2022 Edge4/28/202245
css.properties.font-palette.normal 📋Safari3/14/2022 Edge4/28/202245
css.properties.font-size 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-size.rem_values Safari10/22/2013 Edge7/29/2015645
Firefox: Before Firefox 57, animations using em units are not affected by changes to the font-size of the animated element's parent (bug 1254424).Firefox: Before Firefox 57, some language settings' inherited font-size is smaller than expected (bug 1391341).
css.properties.font-size.xxx-large Chrome12/10/2019 Safari3/27/20231203
css.properties.font-size-adjust 📋Safari3/27/2023 Edge7/25/2024486
Firefox: Before Firefox 40, font-size-adjust: 0 was incorrectly interpreted as font-size-adjust: none (bug 1144885).Firefox: Only supported on Windows.Firefox for Android: Before Firefox for Android 40, font-size-adjust: 0 was incorrectly interpreted as font-size-adjust: none (bug 1144885).
css.properties.font-size-adjust.from-font 📋Safari9/18/2023 Edge7/25/2024311
css.properties.font-size-adjust.none 📋Safari3/27/2023 Edge7/25/2024486
css.properties.font-size-adjust.two-values Safari9/18/2023 Edge7/25/2024311
css.properties.font-smooth Safari6/8/2009 Edge1/15/20203873
Firefox: Only works on macOS.
css.properties.font-stretch 📋Edge7/29/2015 Safari9/19/2017783
Chrome: A font-stretch definition must be added to the @font-face before this property will function.Chrome Android: A font-stretch definition must be added to the @font-face before this property will function.Quest Browser: A font-stretch definition must be added to the @font-face before this property will function.Opera: A font-stretch definition must be added to the @font-face before this property will function.Opera Android: A font-stretch definition must be added to the @font-face before this property will function.Samsung Internet: A font-stretch definition must be added to the @font-face before this property will function.WebView Android: A font-stretch definition must be added to the @font-face before this property will function.
css.properties.font-stretch.percentage Chrome10/17/2017 Edge10/2/2018350
css.properties.font-style 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 44, oblique was not distinguished from italic.Firefox for Android: Before Firefox for Android 44, oblique was not distinguished from italic.
css.properties.font-style.italic 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-style.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-style.oblique-angle 📋Chrome10/17/2017 Edge1/15/2020820
css.properties.font-synthesis 📋Safari9/30/2015 Edge1/6/20222290
css.properties.font-synthesis.small-caps Safari3/27/2017 Edge1/6/20221746
css.properties.font-synthesis.style Safari3/27/2017 Edge1/6/20221746
css.properties.font-synthesis.weight Safari3/27/2017 Edge1/6/20221746
css.properties.font-synthesis-small-caps 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-small-caps.auto 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-small-caps.none 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-style 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-style.auto 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-style.none 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-weight 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-weight.auto 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-synthesis-weight.none 📋Chrome1/4/2022 Safari3/27/2023447
css.properties.font-variant 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Only supports the small-caps and normal keywords.
css.properties.font-variant.css_fonts_shorthand Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant.historical-forms 📋Safari3/21/2016 Edge3/13/20232548
css.properties.font-variant.none 📋Safari9/30/2015 Edge1/15/20201568
css.properties.font-variant.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-variant.sub 📋Safari3/21/2016 Edge2/9/20232516
css.properties.font-variant.super 📋Safari3/21/2016 Edge2/9/20232516
css.properties.font-variant.turkic_is Chrome11/12/2013 Edge7/29/2015624
css.properties.font-variant-alternates 📋Safari3/21/2016 Edge3/13/20232548
css.properties.font-variant-alternates.annotation 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-alternates.character_variant 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-alternates.historical-forms 📋Safari3/24/2020 Edge3/13/20231084
css.properties.font-variant-alternates.normal 📋Safari3/24/2020 Edge3/13/20231084
css.properties.font-variant-alternates.ornaments 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-alternates.styleset 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-alternates.stylistic 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-alternates.swash 📋Safari12/13/2022 Edge3/13/202390
css.properties.font-variant-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.all-petite-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.all-small-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.normal 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.petite-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.small-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.titling-caps 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-caps.unicase 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.full-width 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.jis04 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.jis78 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.jis83 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.jis90 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.normal 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.proportional-width 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.ruby 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.simplified 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-east-asian.traditional 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-emoji 📋Safari5/13/2024 Edge11/14/2024185
css.properties.font-variant-ligatures 📋Chrome4/8/2014 Edge1/15/20202108
css.properties.font-variant-ligatures.common-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.contextual 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.discretionary-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.historical-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.no-common-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.no-contextual 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.no-discretionary-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.no-historical-ligatures 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.none 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-ligatures.normal 📋Safari10/22/2013 Edge1/15/20202276
css.properties.font-variant-numeric 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.diagonal-fractions 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.lining-nums 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.normal 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.oldstyle-nums 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.ordinal 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.proportional-nums 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.slashed-zero 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.stacked-fractions 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variant-numeric.tabular-nums 📋Safari3/21/2016 Edge1/15/20201395
css.properties.font-variation-settings 📋Safari9/19/2017 Edge4/30/2018223
Safari: Requires macOS 10.13 High Sierra or later.Safari on iOS: Requires iOS 11 or later.WebView on iOS: Requires iOS 11 or later.
css.properties.font-weight 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-weight.bold 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-weight.bolder 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-weight.lighter 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-weight.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.font-weight.number Safari9/19/2017 Edge4/30/2018223
css.properties.gap 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.gap.flex_context 📋Edge7/16/2020 Safari4/26/2021284
css.properties.gap.grid_context 📋Edge10/17/2017 Safari9/17/2018335
css.properties.gap.grid_context.calc_values Edge10/17/2017 Safari3/25/2019524
css.properties.gap.grid_context.percentage_values Safari9/19/2017 Chrome4/17/2018210
css.properties.gap.multicol_context 📋Edge10/17/2017 Safari4/26/20211287
css.properties.grid 📋Chrome3/9/2017 Edge10/17/2017222
Samsung Internet: This was added early so is out of sync with the equivalent Chromium version.
css.properties.grid-area 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-auto-columns 📋Chrome3/9/2017 Edge10/17/2017222
Firefox: Does not accept multiple track-size values. See bug 1339672.Firefox for Android: Does not accept multiple track-size values. See bug 1339672.
css.properties.grid-auto-flow 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-auto-flow.column 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-auto-flow.dense 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-auto-flow.row 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-auto-rows 📋Chrome3/9/2017 Edge10/17/2017222
Firefox: Does not accept multiple track-size values. See bug 1339672.Firefox for Android: Does not accept multiple track-size values. See bug 1339672.
css.properties.grid-column 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-column-end 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-column-start 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-row 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-row-end 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-row-start 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template.none 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-areas 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-areas.none 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-columns 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-columns.animation Safari9/12/2022 Edge10/27/202245
css.properties.grid-template-columns.auto 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-columns.fit-content 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-columns.max-content 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-columns.min-content 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-columns.minmax 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-columns.none 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-columns.repeat 📋Chrome3/9/2017 Edge10/17/2017222
Firefox: repeat(auto-fill, ...) and repeat(auto-fit, ...) only support one repeated column (see bug 1341507).Firefox: calc() doesn't work in repeat() (see bug 1350069).Firefox for Android: repeat(auto-fill, ...) and repeat(auto-fit, ...) only support one repeated column (see bug 1341507).Firefox for Android: calc() doesn't work in repeat() (see bug 1350069).
css.properties.grid-template-columns.subgrid 📋Safari9/12/2022 Edge9/15/2023368
css.properties.grid-template-rows 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-rows.animation Safari9/12/2022 Edge10/27/202245
css.properties.grid-template-rows.auto 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-rows.fit-content 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-rows.max-content 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-rows.min-content 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-rows.minmax 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.grid-template-rows.none 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.grid-template-rows.repeat 📋Chrome3/9/2017 Edge10/17/2017222
Firefox: repeat(auto-fill, ...) and repeat(auto-fit, ...) only support one repeated column (see bug 1341507).Firefox: calc() doesn't work in repeat() (see bug 1350069).Firefox for Android: repeat(auto-fill, ...) and repeat(auto-fit, ...) only support one repeated column (see bug 1341507).Firefox for Android: calc() doesn't work in repeat() (see bug 1350069).
css.properties.grid-template-rows.subgrid 📋Safari9/12/2022 Edge9/15/2023368
css.properties.height 📋Safari6/23/2003 Edge7/29/20154419
css.properties.height.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.height.fit-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.height.max-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.height.min-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.height.stretch 📋Chrome7/9/2013 Edge1/15/20202381
css.properties.hyphenate-character 📋Chrome9/27/2022 Safari9/18/2023356
css.properties.hyphenate-character.auto 📋Chrome9/2/2010 Edge1/15/20203422
css.properties.hyphens 📋Chrome12/1/2016 Safari9/18/20232482
Edge: Only works if the specified language is the same as the language of the underlying OS.Internet Explorer: Only works if the specified language is the same as the language of the underlying OS.
css.properties.hyphens.auto Safari7/20/2011 Edge1/21/20213473
Chrome: Only supported on macOS.Edge: Only supported on macOS.Opera: Only supported on macOS.
css.properties.hyphens.language_croatian Safari3/21/2016 Edge11/19/20201704
css.properties.hyphens.language_czech Safari3/21/2016 Edge4/6/20232572
css.properties.hyphens.language_danish Safari7/20/2011 Edge11/19/20203410
css.properties.hyphens.language_dutch Safari7/20/2011 Edge4/6/20234278
css.properties.hyphens.language_english Safari7/20/2011 Chrome12/1/20161961
Firefox: For English, Firefox uses an en-US dictionaryFirefox for Android: For English, Firefox for Android uses an en-US dictionarySafari: For English, Safari uses different en-GB and en-US dictionaries.Safari on iOS: For English, Safari on iOS uses different en-GB and en-US dictionaries.WebView on iOS: For English, WebView on iOS uses different en-GB and en-US dictionaries.
css.properties.hyphens.language_french Safari7/20/2011 Edge11/19/20203410
css.properties.hyphens.language_german_reformed_orthography Safari7/20/2011 Edge11/19/20203410
css.properties.hyphens.language_hungarian Safari3/21/2016 Edge11/19/20201704
css.properties.hyphens.language_italian Safari7/20/2011 Edge4/6/20234278
css.properties.hyphens.language_norwegian_no Safari7/20/2011 Edge11/19/20203410
css.properties.hyphens.language_portuguese Safari3/21/2016 Edge11/19/20201704
css.properties.hyphens.language_russian Safari7/20/2011 Edge4/6/20234278
css.properties.hyphens.language_spanish Safari7/20/2011 Edge11/19/20203410
css.properties.hyphens.language_swedish Safari7/20/2011 Edge4/6/20234278
css.properties.hyphens.language_ukrainian Safari3/21/2016 Edge4/6/20232572
css.properties.image-orientation 📋Safari3/24/2020 Edge4/13/202020
css.properties.image-orientation.from-image 📋Safari3/24/2020 Edge4/13/202020
css.properties.image-orientation.none 📋Safari3/24/2020 Edge4/13/202020
css.properties.image-rendering 📋Chrome8/2/2011 Edge1/15/20203088
css.properties.image-rendering.auto 📋Chrome8/2/2011 Edge1/15/20203088
css.properties.image-rendering.crisp-edges 📋Chrome8/2/2011 Edge1/15/20203088
css.properties.image-rendering.pixelated 📋Chrome3/3/2015 Edge1/15/20201779
css.properties.initial-letter 📋Safari9/30/2015 Edge2/9/20232689
Safari: See bug 229090 for the unprefixed property.Safari on iOS: See bug 229090 for the unprefixed property.WebView on iOS: See bug 229090 for the unprefixed property.
css.properties.initial-letter.normal 📋Safari9/30/2015 Edge2/9/20232689
css.properties.inline-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.inline-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.inline-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.inline-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.inset 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block-end 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block-end.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block-start 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-block-start.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline-end 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline-end.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline-start 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.inset-inline-start.auto 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.isolation 📋Safari10/16/2014 Edge1/15/20201917
css.properties.justify-content 📋Chrome8/20/2013 Safari9/30/2015771
css.properties.justify-content.flex_context 📋Safari10/22/2013 Chrome7/20/20161002
Chrome: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome implements the new behavior beginning with Chrome 52.Chrome Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Chrome Android implements the new behavior beginning with Chrome Android 52.Firefox: Before Firefox 27, Firefox supported only single-line flexbox.Firefox for Android: Before Firefox for Android 27, Firefox for Android supported only single-line flexbox.Samsung Internet: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. Samsung Internet implements the new behavior beginning with Samsung Internet 6.0.WebView Android: Older versions of the specification treat absolute positioned children as though they are a 0 by 0 flex item. Later specification versions take the children out of the flow and set their positions based on align and justify properties. WebView Android implements the new behavior beginning with WebView Android 52.
css.properties.justify-content.flex_context.left_right Safari9/30/2015 Edge9/2/20212164
Internet Explorer: This value is recognized, but has no effect.Opera Android: This value is recognized, but has no effect.
css.properties.justify-content.flex_context.safe_unsafe Chrome7/18/2023 Safari7/29/2024377
Chrome: Before version 115, this value is recognized, but has no effect.Chrome Android: Before version 115, this value is recognized, but has no effect.Edge: Before version 115, this value is recognized, but has no effect.Opera: Before version 101, this value is recognized, but has no effect.Opera Android: Before version 77, this value is recognized, but has no effect.Samsung Internet: Before version 23.0, this value is recognized, but has no effect.WebView Android: Before version 115, this value is recognized, but has no effect.
css.properties.justify-content.flex_context.space-evenly Chrome7/25/2017 Edge1/15/2020904
css.properties.justify-content.flex_context.start_end Chrome8/31/2021 Safari3/14/2022195
css.properties.justify-content.flex_context.stretch Safari9/30/2015 Edge1/15/20201568
css.properties.justify-content.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.justify-items 📋Edge7/29/2015 Chrome7/20/2016357
css.properties.justify-items.flex_context 📋Edge7/29/2015 Chrome7/20/2016357
css.properties.justify-items.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.justify-self 📋Chrome3/9/2017 Edge10/17/2017222
css.properties.justify-self.grid_context 📋Chrome3/9/2017 Edge10/17/2017222
Internet Explorer: Internet Explorer 10 and 11 have the property -ms-grid-column-align, which acts in a similar way to justify-self.
css.properties.left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.left.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.letter-spacing 📋Safari6/23/2003 Edge7/29/20154419
css.properties.letter-spacing.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.letter-spacing.svg_elements Chrome12/11/2008 Edge7/29/20152421
css.properties.lighting-color 📋Chrome5/25/2010 Edge7/29/20151891
css.properties.line-break 📋Edge8/2/2016 Safari9/19/2017413
css.properties.line-break.anywhere 📋Safari9/19/2019 Edge5/21/2020245
css.properties.line-break.auto 📋Chrome2/21/2013 Edge1/15/20202519
css.properties.line-break.loose 📋Chrome2/21/2013 Edge1/15/20202519
css.properties.line-break.normal 📋Safari4/29/2005 Edge1/15/20205374
css.properties.line-break.strict 📋Chrome2/21/2013 Edge1/15/20202519
css.properties.line-clamp 📋Chrome9/2/2010 Safari12/11/20245214
css.properties.line-height 📋Safari6/23/2003 Edge7/29/20154419
css.properties.line-height.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-image 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 86, this property did not accept an <image> type, and required the URL of an image.Firefox for Android: Before Firefox for Android 86, this property did not accept an <image> type, and required the URL of an image.
css.properties.list-style-image.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-position 📋Safari6/23/2003 Edge7/29/20154419
Safari: In Safari, if a block element is the first child of a list element declared as list-style-position: inside, then the marker box is placed on the same line as the block element.Safari on iOS: In Safari on iOS, if a block element is the first child of a list element declared as list-style-position: inside, then the marker box is placed on the same line as the block element.WebView on iOS: In WebView on iOS, if a block element is the first child of a list element declared as list-style-position: inside, then the marker box is placed on the same line as the block element.
css.properties.list-style-position.inside 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-position.outside 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.afar Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.amharic Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.amharic-abegede Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.arabic-indic 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.armenian 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.asterisks Safari7/20/2011 Edge5/27/20213599
css.properties.list-style-type.bengali 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.binary Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.cambodian 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.circle 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.cjk-decimal 📋Chrome5/25/2021 Safari9/20/2021118
css.properties.list-style-type.cjk-earthly-branch 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.cjk-heavenly-stem 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.cjk-ideographic 📋Chrome12/11/2008 Edge1/15/20204052
Opera: Until version 15, only decimal numbers display.Opera Android: Until version 15, only decimal numbers display.
css.properties.list-style-type.decimal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.decimal-leading-zero 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.devanagari 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.disc 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.disclosure-closed 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.list-style-type.disclosure-open 📋Chrome3/2/2021 Safari9/20/2021202
css.properties.list-style-type.ethiopic Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-abegede Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-abegede-am-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-abegede-gez Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-abegede-ti-er Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-abegede-ti-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame Chrome9/1/2015 Safari9/18/20232939
css.properties.list-style-type.ethiopic-halehame-aa-er Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-aa-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-am Chrome9/1/2015 Safari9/18/20232939
css.properties.list-style-type.ethiopic-halehame-am-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-gez Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-om-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-sid-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-so-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-halehame-ti-er Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.ethiopic-halehame-ti-et Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.ethiopic-halehame-tig Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.ethiopic-numeric 📋Chrome5/25/2021 Safari9/20/2021118
Firefox: Before Firefox 38, Firefox added a dot as suffix of the number for ethiopic-numeric (for example, ፫. instead of ፫). The specification later defined the absence of a suffix, which Firefox 38 followed.Firefox for Android: Before Firefox for Android 38, Firefox for Android added a dot as suffix of the number for ethiopic-numeric (for example, ፫. instead of ፫). The specification later defined the absence of a suffix, which Firefox for Android 38 followed.
css.properties.list-style-type.footnotes Safari7/20/2011 Edge5/27/20213599
css.properties.list-style-type.georgian 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.gujarati 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.gurmukhi 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.hangul Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.hangul-consonant Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.hebrew 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.hiragana 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.hiragana-iroha 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.japanese-formal 📋Chrome5/25/2021 Safari9/20/2021118
css.properties.list-style-type.japanese-informal 📋Chrome5/25/2021 Safari9/20/2021118
css.properties.list-style-type.kannada 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.katakana 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.katakana-iroha 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.khmer 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.korean-hangul-formal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.korean-hanja-formal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.korean-hanja-informal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.lao 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.lower-alpha 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.lower-armenian 📋Safari7/20/2011 Edge1/15/20203101
css.properties.list-style-type.lower-greek 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.lower-hexadecimal Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.lower-latin 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.lower-norwegian Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.lower-roman 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.malayalam 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.mongolian 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.myanmar 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.octal Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.oriya 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.oromo Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.persian 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.sidama Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.simp-chinese-formal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.simp-chinese-informal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.somali Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.square 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.string Chrome12/10/2019 Safari4/26/2021503
css.properties.list-style-type.tamil 📋Chrome5/25/2021 Safari9/20/2021118
css.properties.list-style-type.telugu 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.thai 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.tibetan 📋Safari6/7/2010 Edge1/15/20203509
css.properties.list-style-type.tigre Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.tigrinya-er Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.tigrinya-er-abegede Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.tigrinya-et Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.tigrinya-et-abegede Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.trad-chinese-formal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.trad-chinese-informal 📋Chrome9/1/2015 Safari9/20/20212211
css.properties.list-style-type.upper-alpha 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.upper-armenian 📋Safari7/20/2011 Edge1/15/20203101
css.properties.list-style-type.upper-greek Safari6/23/2003 Edge5/27/20216548
css.properties.list-style-type.upper-hexadecimal Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.upper-latin 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.upper-norwegian Safari6/7/2010 Edge5/27/20214007
css.properties.list-style-type.upper-roman 📋Safari6/23/2003 Edge7/29/20154419
css.properties.list-style-type.urdu Safari6/7/2010 Edge1/15/20203509
css.properties.margin 📋Safari6/23/2003 Edge7/29/20154419
css.properties.margin.auto Safari6/23/2003 Edge7/29/20154419
Edge: The auto value is not supported in quirks mode.Internet Explorer: The auto value is not supported in quirks mode.
css.properties.margin-block 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.margin-block-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.margin-block-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.margin-bottom 📋Safari6/23/2003 Edge7/29/20154419
css.properties.margin-bottom.auto Safari6/23/2003 Edge7/29/20154419
Edge: The auto value is not supported in quirks mode.Internet Explorer: The auto value is not supported in quirks mode.
css.properties.margin-inline 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.margin-inline-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.margin-inline-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.margin-left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.margin-left.auto Safari6/23/2003 Edge7/29/20154419
Edge: The auto value is not supported in quirks mode.Internet Explorer: The auto value is not supported in quirks mode.
css.properties.margin-right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.margin-right.auto Safari6/23/2003 Edge7/29/20154419
Edge: The auto value is not supported in quirks mode.Internet Explorer: The auto value is not supported in quirks mode.
css.properties.margin-top 📋Safari6/23/2003 Edge7/29/20154419
css.properties.margin-top.auto Safari6/23/2003 Edge7/29/20154419
Edge: The auto value is not supported in quirks mode.Internet Explorer: The auto value is not supported in quirks mode.
css.properties.marker 📋Chrome2/4/2020 Safari3/24/202049
css.properties.marker-end 📋Chrome2/4/2020 Safari3/24/202049
css.properties.marker-mid 📋Chrome2/4/2020 Safari3/24/202049
css.properties.marker-start 📋Chrome2/4/2020 Safari3/24/202049
css.properties.mask 📋Safari3/14/2022 Edge12/7/2023633
Chrome: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Chrome: While the property is recognized, values applied to it don't have any effect.Chrome Android: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Chrome Android: While the property is recognized, values applied to it don't have any effect.Edge: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Edge: While the property is recognized, values applied to it don't have any effect.Firefox: Only supports mask: url(file.svg#mask_id) or mask: url(#mask_id), where the URL is a reference to an SVG <mask> element.Firefox for Android: Only supports mask: url(file.svg#mask_id) or mask: url(#mask_id), where the URL is a reference to an SVG <mask> element.Quest Browser: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Quest Browser: While the property is recognized, values applied to it don't have any effect.Opera: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Opera: While the property is recognized, values applied to it don't have any effect.Opera Android: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Opera Android: While the property is recognized, values applied to it don't have any effect.Safari: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Safari: While the property is recognized, values applied to it don't have any effect.Safari on iOS: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Safari on iOS: While the property is recognized, values applied to it don't have any effect.Samsung Internet: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.Samsung Internet: While the property is recognized, values applied to it don't have any effect.WebView Android: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.WebView Android: While the property is recognized, values applied to it don't have any effect.WebView on iOS: The prefixed property can be used with SVG and HTML with a slightly different syntax, which allows setting the non-standard -webkit-mask-attachment property.WebView on iOS: While the property is recognized, values applied to it don't have any effect.
css.properties.mask-border 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-border-outset 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-border-repeat 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-border-slice 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-border-source 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-border-width 📋Chrome12/11/2008 Safari12/11/20235478
css.properties.mask-clip 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-clip.border Chrome12/11/2008 Edge1/15/20204052
css.properties.mask-clip.content Chrome12/11/2008 Edge1/15/20204052
css.properties.mask-clip.padding Chrome12/11/2008 Edge1/15/20204052
css.properties.mask-clip.text Chrome12/11/2008 Edge1/15/20204052
css.properties.mask-composite 📋Safari3/14/2022 Edge12/7/2023633
Chrome: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Chrome Android: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Edge: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Opera: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Opera Android: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Safari: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Safari on iOS: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.Samsung Internet: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.WebView Android: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.WebView on iOS: See also -webkit-mask-composite for a similar non-standard property that uses different keywords.
css.properties.mask-composite.add 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-composite.exclude 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-composite.intersect 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-composite.subtract 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-image 📋Safari3/14/2022 Edge12/7/2023633
Chrome: From version 8, Chrome added support for gradient values. Initially, Chrome supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.Chrome Android: From version 18, Chrome Android added support for gradient values. Initially, Chrome Android supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.Quest Browser: From version 5.0, Quest Browser added support for gradient values. Initially, Quest Browser supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.Safari: Initially, Safari supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.Safari on iOS: Initially, Safari on iOS supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.WebView Android: Initially, Android supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.WebView on iOS: Initially, WebView on iOS supported only -webkit- prefixed values for gradients (such as -webkit-linear-gradient()). Later, support for unprefixed values was added.
css.properties.mask-image.multiple_mask_images Chrome12/11/2008 Edge10/2/20183582
css.properties.mask-image.svg_masks Safari6/8/2009 Edge10/2/20183403
css.properties.mask-mode 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-mode.alpha 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-mode.luminance 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-mode.match-source 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-origin 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-origin.border Chrome12/11/2008 Safari3/14/20224841
css.properties.mask-origin.content Chrome12/11/2008 Safari3/14/20224841
css.properties.mask-origin.padding Chrome12/11/2008 Safari3/14/20224841
css.properties.mask-position 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-repeat 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-size 📋Safari3/14/2022 Edge12/7/2023633
css.properties.mask-type 📋Chrome1/10/2013 Edge1/15/20202561
css.properties.mask-type.alpha 📋Chrome1/10/2013 Edge1/15/20202561
css.properties.mask-type.luminance 📋Chrome1/10/2013 Edge1/15/20202561
css.properties.math-style 📋Safari4/26/2021 Edge1/12/2023626
css.properties.max-block-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.max-block-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-block-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-block-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-height 📋Safari4/15/2005 Edge7/29/20153757
Firefox: CSS 2.1 leaves the behavior of max-height with table undefined. Firefox supports applying max-height to table elements.Opera: CSS 2.1 leaves the behavior of max-height with table undefined. Opera supports applying max-height to table elements.
css.properties.max-height.fit-content 📋Chrome10/13/2015 Edge1/15/20201555
Firefox: Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.Firefox for Android: Firefox for Android implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
css.properties.max-height.max-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.max-height.min-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.max-height.none 📋Safari4/15/2005 Edge7/29/20153757
css.properties.max-inline-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.max-inline-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-inline-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-inline-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.max-width 📋Safari6/23/2003 Edge7/29/20154419
Firefox: CSS 2.1 leaves the behavior of max-width with table undefined. Firefox supports applying max-width to table elements.Firefox for Android: CSS 2.1 leaves the behavior of max-width with table undefined. Firefox for Android supports applying max-width to table elements.Opera: CSS 2.1 leaves the behavior of max-width with table undefined. Opera supports applying max-width to table elements.
css.properties.max-width.fit-content 📋Chrome10/13/2015 Edge1/15/20201555
Firefox: Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.Firefox for Android: Firefox for Android implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
css.properties.max-width.max-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.max-width.min-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.max-width.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.min-block-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.min-block-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-block-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-block-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-height 📋Safari4/15/2005 Edge7/29/20153757
Firefox: CSS 2.1 leaves the behavior of min-height with table undefined. Firefox supports applying min-height to table elements.Firefox for Android: CSS 2.1 leaves the behavior of min-height with table undefined. Firefox for Android supports applying min-height to table elements.Internet Explorer: In Internet Explorer 10 and 11, a min-height declaration on a column-direction flex container doesn't apply to the container's flex items. See Flexbug #3 for more info.Opera: CSS 2.1 leaves the behavior of min-height with table undefined. Opera supports applying min-height to table elements.
css.properties.min-height.auto Chrome7/31/2012 Edge7/29/20151093
Firefox: Firefox 18 and later used auto as the initial value for min-height.Firefox for Android: Firefox for Android 18 and later used auto as the initial value for min-height.
css.properties.min-height.fit-content Chrome10/13/2015 Edge1/15/20201555
Firefox: Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.Firefox for Android: Firefox for Android implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
css.properties.min-height.max-content Chrome10/13/2015 Edge1/15/20201555
css.properties.min-height.min-content Chrome10/13/2015 Edge1/15/20201555
css.properties.min-height.stretch Chrome7/9/2013 Edge1/15/20202381
css.properties.min-inline-size 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.min-inline-size.fit-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-inline-size.max-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-inline-size.min-content Chrome3/9/2017 Edge1/15/20201042
css.properties.min-width 📋Safari6/23/2003 Edge7/29/20154419
Firefox: CSS 2.1 leaves the behavior of min-width with table undefined. Firefox supports applying min-width to table elements.Firefox for Android: CSS 2.1 leaves the behavior of min-width with table undefined. Firefox for Android supports applying min-width to table elements.Opera: CSS 2.1 leaves the behavior of min-width with table undefined. Opera supports applying min-width to table elements.
css.properties.min-width.auto Chrome7/31/2012 Edge7/29/20151093
Chrome: Chrome uses auto as the initial value for min-width.Chrome Android: Chrome Android uses auto as the initial value for min-width.Edge: Edge uses auto as the initial value for min-width.Firefox: Firefox 18 and later (until the value was removed), used auto as the initial value for min-width.Firefox for Android: Firefox for Android 18 and later (until the value was removed), used auto as the initial value for min-width.Quest Browser: Quest Browser uses auto as the initial value for min-width.Opera: Opera uses auto as the initial value for min-width.Opera Android: Opera Android uses auto as the initial value for min-width.Samsung Internet: Samsung Internet uses auto as the initial value for min-width.WebView Android: WebView Android uses auto as the initial value for min-width.
css.properties.min-width.fit-content Chrome10/13/2015 Edge1/15/20201555
Firefox: Firefox implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.Firefox for Android: Firefox for Android implements the definitions given in CSS3 Basic Box. This defines available and not fit-available. Also, the definition of fit-content is simpler than in CSS3 Sizing.
css.properties.min-width.max-content Chrome10/13/2015 Edge1/15/20201555
css.properties.min-width.min-content Chrome10/13/2015 Edge1/15/20201555
css.properties.mix-blend-mode 📋Safari10/16/2014 Edge1/15/20201917
css.properties.mix-blend-mode.plus-lighter 📋Safari3/21/2016 Edge4/1/20222202
css.properties.object-fit 📋Chrome1/14/2014 Edge1/15/20202192
Edge: Only supported for <img> elements.
css.properties.object-fit.contain 📋Chrome1/14/2014 Edge1/15/20202192
css.properties.object-fit.cover 📋Chrome1/14/2014 Edge1/15/20202192
css.properties.object-fit.fill 📋Chrome1/14/2014 Edge1/15/20202192
css.properties.object-fit.none 📋Chrome1/14/2014 Edge1/15/20202192
css.properties.object-fit.scale-down 📋Chrome1/14/2014 Edge1/15/20202192
css.properties.object-position 📋Chrome1/14/2014 Edge1/15/20202192
Edge: Only supported for <img> elements.
css.properties.offset 📋Chrome12/1/2016 Safari9/12/20222111
css.properties.offset-anchor 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.auto 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.bottom 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.center 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.left 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.right 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-anchor.top 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-distance 📋Chrome12/1/2016 Safari9/12/20222111
css.properties.offset-path 📋Chrome12/1/2016 Safari3/14/20221929
Samsung Internet: path() is the only value type supported.
css.properties.offset-path.basic_shape 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.border-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.content-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.fill-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.none 📋Chrome2/4/2020 Safari9/16/20241686
css.properties.offset-path.padding-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.path Chrome1/23/2018 Safari9/12/20221693
css.properties.offset-path.ray 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-path.stroke-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-path.url 📋Chrome8/15/2023 Safari9/18/202334
css.properties.offset-path.view-box 📋Chrome8/15/2023 Safari9/16/2024398
css.properties.offset-position 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.auto 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.bottom 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.center 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.left 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.normal 📋Chrome8/15/2023 Safari12/11/2023118
css.properties.offset-position.right 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-position.top 📋Safari9/12/2022 Edge8/21/2023343
css.properties.offset-rotate 📋Chrome1/25/2017 Safari9/12/20222056
css.properties.offset-rotate.auto 📋Chrome10/13/2015 Safari9/12/20222526
css.properties.offset-rotate.reverse 📋Chrome10/13/2015 Safari9/12/20222526
css.properties.opacity 📋Safari4/29/2005 Edge7/29/20153743
css.properties.opacity.percentages Chrome10/22/2019 Safari3/24/2020154
css.properties.order 📋Chrome8/20/2013 Safari9/30/2015771
Firefox: Since Firefox 28, multi-line flexbox is supported.Firefox for Android: Since Firefox for Android 28, multi-line flexbox is supported.
css.properties.orphans 📋Safari4/15/2005 Edge7/29/20153757
css.properties.outline 📋Chrome9/21/2021 Safari3/27/2023552
Chrome: Before Chrome 94, outline does not follow the shape of border-radius.Chrome Android: Before Chrome Android 94, outline does not follow the shape of border-radius.Edge: Before Edge 94, outline does not follow the shape of border-radius.Firefox: Before Firefox 88, outline does not follow the shape of border-radius.Firefox for Android: Before Firefox for Android 88, outline does not follow the shape of border-radius.Quest Browser: Before Quest Browser 18.0, outline does not follow the shape of border-radius.Opera: Before Opera 80, outline does not follow the shape of border-radius.Safari: Before Safari 16.4, outline does not follow the shape of border-radius. See bug 20807.Safari on iOS: Before Safari on iOS 16.4, outline does not follow the shape of border-radius. See bug 20807.WebView Android: Before Chrome 94, outline does not follow the shape of border-radius.WebView on iOS: Before WebView on iOS 16.4, outline does not follow the shape of border-radius. See bug 20807.
css.properties.outline-color 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-offset 📋Safari2/2/2004 Edge4/5/20174811
Firefox: Before Firefox 88, an outline does not follow the shape of border-radius.Firefox for Android: Before Firefox for Android 88, an outline does not follow the shape of border-radius.
css.properties.outline-style 📋Safari2/2/2004 Edge7/29/20154195
Firefox: Before Firefox 88, an outline does not follow the shape of border-radius.Firefox for Android: Before Firefox for Android 88, an outline does not follow the shape of border-radius.
css.properties.outline-style.auto 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.dashed 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.dotted 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.double 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.groove 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.inset 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.none 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.outset 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.ridge 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-style.solid 📋Safari2/2/2004 Edge7/29/20154195
css.properties.outline-width 📋Safari2/2/2004 Edge7/29/20154195
Firefox: Before Firefox 88, an outline does not follow the shape of border-radius.Firefox for Android: Before Firefox for Android 88, an outline does not follow the shape of border-radius.
css.properties.overflow 📋Safari6/23/2003 Edge7/29/20154419
Firefox: After Firefox 3.6, the overflow property is correctly applied to table group elements (<thead>, <tbody>, <tfoot>).Internet Explorer: From version 4 to 6, Internet Explorer enlarges an element with overflow: visible (default value) to fit the content inside it. height and width behave like min-height and min-width, respectively.
css.properties.overflow.auto 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow.clip 📋Chrome4/13/2021 Safari9/12/2022517
css.properties.overflow.hidden 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow.multiple_keywords Chrome7/24/2018 Safari3/24/2020609
css.properties.overflow.scroll 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow.visible 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-wrap 📋Chrome11/6/2012 Edge10/2/20182156
css.properties.overflow-wrap.anywhere 📋Chrome2/4/2020 Safari3/14/2022769
css.properties.overflow-wrap.break-word 📋Safari6/23/2003 Edge7/29/20154419
css.properties.overflow-wrap.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.overflow-x 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-x.auto 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-x.clip 📋Chrome4/13/2021 Safari9/12/2022517
css.properties.overflow-x.hidden 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-x.scroll 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-x.visible 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-y 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-y.auto 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-y.clip 📋Chrome4/13/2021 Safari9/12/2022517
css.properties.overflow-y.hidden 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-y.scroll 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overflow-y.visible 📋Safari10/26/2007 Edge7/29/20152833
css.properties.overscroll-behavior 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior.auto 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior.contain 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior.none 📋Chrome12/6/2017 Safari9/12/20221741
Edge: The none value incorrectly behaves as contain (allowing for the elastic bounce effect).
css.properties.overscroll-behavior-block 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-block.auto 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-block.contain 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-block.none 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-inline 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-inline.auto 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-inline.contain 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-inline.none 📋Chrome9/10/2019 Safari9/12/20221098
css.properties.overscroll-behavior-x 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior-x.auto 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior-x.contain 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior-x.none 📋Chrome12/6/2017 Safari9/12/20221741
Edge: The none value incorrectly behaves as contain (allowing for the elastic bounce effect).
css.properties.overscroll-behavior-y 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior-y.auto 📋Chrome12/6/2017 Safari9/12/20221741
css.properties.overscroll-behavior-y.contain 📋Chrome5/19/2020 Safari9/12/2022846
css.properties.overscroll-behavior-y.none 📋Edge1/15/2020 Safari9/12/2022971
Edge: The none value incorrectly behaves as contain (allowing for the elastic bounce effect).
css.properties.padding 📋Safari6/23/2003 Edge7/29/20154419
css.properties.padding-block 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.padding-block-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.padding-block-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.padding-bottom 📋Safari6/23/2003 Edge7/29/20154419
css.properties.padding-inline 📋Chrome11/17/2020 Safari4/26/2021160
css.properties.padding-inline-end 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.padding-inline-start 📋Chrome9/4/2018 Edge1/15/2020498
css.properties.padding-left 📋Safari6/23/2003 Edge7/29/20154419
css.properties.padding-right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.padding-top 📋Safari6/23/2003 Edge7/29/20154419
css.properties.page 📋Safari3/24/2020 Edge8/27/2020156
css.properties.page-break-after 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-after.always 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-after.auto 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-after.left 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-after.right 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-before 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-before.always 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-before.auto 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-before.left 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-before.right 📋Safari2/2/2004 Edge7/29/20154195
css.properties.page-break-inside 📋Safari4/15/2005 Edge7/29/20153757
css.properties.page-break-inside.auto 📋Safari4/15/2005 Edge7/29/20153757
css.properties.page-break-inside.avoid 📋Safari4/15/2005 Edge7/29/20153757
Firefox: Until Firefox 25, page-break-inside: avoid did not work with the height of a block.Firefox for Android: Until Firefox for Android 25, page-break-inside: avoid did not work with the height of a block.
css.properties.paint-order 📋Safari9/19/2017 Edge3/22/20242376
Chrome: Does not affect stroked HTML text, see bug 41372165Chrome Android: Does not affect stroked HTML text, see bug 41372165Edge: Does not affect stroked HTML text, see bug 41372165Quest Browser: Does not affect stroked HTML text, see bug 41372165Opera: Does not affect stroked HTML text, see bug 41372165Opera Android: Does not affect stroked HTML text, see bug 41372165Safari: Does not affect stroked HTML text, see bug 168601Safari on iOS: Does not affect stroked HTML text, see bug 168601Samsung Internet: Does not affect stroked HTML text, see bug 41372165WebView Android: Does not affect stroked HTML text, see bug 41372165WebView on iOS: Does not affect stroked HTML text, see bug 168601
css.properties.perspective 📋Chrome7/16/2014 Safari9/30/2015441
Safari on iOS: In iOS 13, the perspective property did not function properly. The issues were fixed in iOS 14.WebView on iOS: In iOS 13, the perspective property did not function properly. The issues were fixed in iOS 14.
css.properties.perspective.none 📋Safari6/8/2009 Edge7/29/20152242
css.properties.perspective-origin 📋Chrome7/16/2014 Safari9/30/2015441
css.properties.perspective-origin.bottom 📋Safari6/8/2009 Edge7/29/20152242
css.properties.perspective-origin.center 📋Safari6/8/2009 Edge7/29/20152242
css.properties.perspective-origin.left 📋Safari6/8/2009 Edge7/29/20152242
css.properties.perspective-origin.right 📋Safari6/8/2009 Edge7/29/20152242
css.properties.perspective-origin.top 📋Safari6/8/2009 Edge7/29/20152242
css.properties.place-content 📋Safari9/30/2015 Edge1/15/20201568
css.properties.place-content.flex_context Safari9/30/2015 Edge1/15/20201568
Firefox: Starting with version 60, you can only specify a single value if it is valid for both align-content and justify-content.Firefox for Android: Starting with version 60, you can only specify a single value if it is valid for both align-content and justify-content.
css.properties.place-content.grid_context Chrome6/5/2017 Edge1/15/2020954
Firefox: Starting with version 60, you can only specify a single value if it is valid for both align-content and justify-content.Firefox for Android: Starting with version 60, you can only specify a single value if it is valid for both align-content and justify-content.
css.properties.place-items 📋Chrome6/5/2017 Edge1/15/2020954
css.properties.place-items.flex_context Chrome6/5/2017 Edge1/15/2020954
css.properties.place-items.grid_context Chrome6/5/2017 Edge1/15/2020954
css.properties.place-self 📋Chrome6/5/2017 Edge1/15/2020954
css.properties.place-self.flex_context Chrome6/5/2017 Edge1/15/2020954
css.properties.place-self.grid_context Chrome6/5/2017 Edge1/15/2020954
css.properties.pointer-events 📋Chrome12/11/2008 Edge7/29/20152421
css.properties.pointer-events.html_elements Chrome5/21/2009 Edge7/29/20152260
css.properties.position 📋Safari6/23/2003 Edge7/29/20154419
css.properties.position.absolute 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 57, absolute positioning did not work correctly when applied to elements inside tables that have border-collapse applied to them (bug 1379306).Firefox: Before Firefox 30, absolute positioning of table rows and row groups was not supported (bug 63895).Firefox for Android: Before Firefox for Android 57, absolute positioning did not work correctly when applied to elements inside tables that have border-collapse applied to them (bug 1379306).Firefox for Android: Before Firefox for Android 30, absolute positioning of table rows and row groups was not supported (bug 63895).
css.properties.position.absolutely_positioned_flex_children Edge7/29/2015 Safari9/19/2017783
css.properties.position.fixed 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 44, position: fixed didn't create a stacking context in most cases. Firefox and the specification have been modified to mimic Chrome and Safari's long-time behavior.Firefox for Android: Before Firefox for Android 44, position: fixed didn't create a stacking context in most cases. Firefox for Android and the specification have been modified to mimic Chrome and Safari's long-time behavior.Internet Explorer: In Internet Explorer, fixed positioning doesn't work if the document is in quirks mode.
css.properties.position.position_sticky_table_elements Safari10/16/2014 Edge10/17/20171097
Firefox: Borders do not display on table headers if border-collapse is set to collapse (bug 1727594).Firefox for Android: Borders do not display on table headers if border-collapse is set to collapse (bug 1727594).
css.properties.position.relative 📋Safari6/23/2003 Edge7/29/20154419
css.properties.position.static 📋Safari6/23/2003 Edge7/29/20154419
css.properties.position.sticky 📋Chrome1/25/2017 Safari9/19/2019967
css.properties.print-color-adjust 📋Chrome2/8/2012 Safari3/14/20223687
Chrome: Chrome does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Chrome: Before version 26, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See bug 40219905.Chrome Android: Chrome Android does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Chrome Android: Before version 26, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See bug 40219905.Edge: Edge does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Quest Browser: Quest Browser does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Quest Browser: Before version 5.0, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See bug 40219905.Opera: Opera does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Opera Android: Opera does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Safari: Safari does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Safari on iOS: Safari on iOS does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Samsung Internet: Samsung Internet does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.Samsung Internet: In version 1, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See bug 40219905.WebView Android: WebView does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.WebView on iOS: WebView on iOS does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.
css.properties.quotes 📋Chrome4/27/2011 Safari9/30/20151617
css.properties.quotes.auto 📋Chrome11/17/2020 Safari4/26/2021160
Internet Explorer: This value is not supported, but the default browser behavior is to choose appropriate quotes for the user's language setting
css.properties.quotes.none 📋Chrome4/27/2011 Safari9/30/20151617
css.properties.r 📋Chrome2/4/2020 Safari3/24/202049
css.properties.resize 📋Safari10/26/2007 Edge1/15/20204464
Safari on iOS: The value is recognized, but has no effect.WebView on iOS: The value is recognized, but has no effect.
css.properties.resize.block Safari9/12/2022 Edge10/13/2023396
css.properties.resize.block_level_support Safari6/8/2009 Edge1/15/20203873
Firefox: resize doesn't have any effect on <iframe>. See bug 680823)Firefox for Android: resize doesn't have any effect on <iframe>. See bug 680823)
css.properties.resize.inline Safari9/12/2022 Edge10/13/2023396
css.properties.right 📋Safari6/23/2003 Edge7/29/20154419
css.properties.right.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.rotate 📋Safari4/26/2021 Edge8/5/2022466
css.properties.rotate.none 📋Safari4/26/2021 Edge8/5/2022466
css.properties.rotate.x_y_z_angle Safari4/26/2021 Edge8/5/2022466
css.properties.row-gap 📋Chrome12/1/2015 Edge10/17/2017686
css.properties.row-gap.flex_context 📋Edge7/16/2020 Safari4/26/2021284
css.properties.row-gap.grid_context 📋Edge10/17/2017 Safari9/17/2018335
css.properties.ruby-align 📋Chrome8/20/2024 Safari12/11/2024113
Internet Explorer: Internet Explorer 9 and later supports an earlier draft of CSS Ruby with non-standard values for this property: auto, left, center, right, distribute-letter, distribute-space, and line-edge.
css.properties.ruby-align.center 📋Chrome8/20/2024 Safari12/11/2024113
css.properties.ruby-align.space-around 📋Chrome8/20/2024 Safari12/11/2024113
css.properties.ruby-align.space-between 📋Chrome8/20/2024 Safari12/11/2024113
css.properties.ruby-align.start 📋Chrome8/20/2024 Safari12/11/2024113
css.properties.ruby-position 📋Edge7/16/2020 Safari12/11/20241609
Chrome: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Chrome Android: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Edge: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Internet Explorer: Internet Explorer 9 and later support an old draft values: inline (equivalent of having display: inline on the ruby), and above (synonym of the modern over).Quest Browser: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Opera: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Opera Android: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Safari: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).Safari on iOS: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).WebView Android: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).WebView on iOS: Implemented as a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).
css.properties.ruby-position.inter-character Edge7/16/2020 Safari12/11/20241609
Chrome: This value is only supported with the prefixed version of the property.Chrome Android: This value is only supported with the prefixed version of the property.Edge: This value is only supported with the prefixed version of the property.Quest Browser: This value is only supported with the prefixed version of the property.Opera: This value is only supported with the prefixed version of the property.Opera Android: This value is only supported with the prefixed version of the property.Samsung Internet: This value is only supported with the prefixed version of the property.WebView Android: This value is only supported with the prefixed version of the property.
css.properties.ruby-position.over Edge7/16/2020 Safari12/11/20241609
css.properties.ruby-position.under Edge7/16/2020 Safari12/11/20241609
css.properties.scale 📋Safari4/26/2021 Edge8/5/2022466
css.properties.scale.none 📋Safari4/26/2021 Edge8/5/2022466
css.properties.scroll-behavior 📋Chrome9/5/2017 Safari3/14/20221651
css.properties.scroll-behavior.auto 📋Chrome9/5/2017 Safari3/14/20221651
css.properties.scroll-behavior.smooth 📋Chrome9/5/2017 Safari3/14/20221651
css.properties.scroll-margin 📋Chrome9/4/2018 Safari4/26/2021965
Firefox: The scroll-margin property can cause an element's visibility to be incorrectly calculated for element.focus(). See bug 1708303.Firefox for Android: The scroll-margin property can cause an element's visibility to be incorrectly calculated for element.focus(). See bug 1708303.Safari: Before version 14.1, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.Safari on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.WebView on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.
css.properties.scroll-margin-block 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-block-end 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-block-start 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-bottom 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Before version 14.1, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.Safari on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.WebView on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.
css.properties.scroll-margin-inline 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-inline-end 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-inline-start 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-margin-left 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Before version 14.1, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.Safari on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.WebView on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.
css.properties.scroll-margin-right 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Before version 14.1, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.Safari on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.WebView on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.
css.properties.scroll-margin-top 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Before version 14.1, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.Safari on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.WebView on iOS: Before version 14.5, scroll margin is not applied for scrolls to fragment target or scrollIntoView(), see bug 189265.
css.properties.scroll-padding 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.Safari on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.WebView on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
css.properties.scroll-padding.auto 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-padding-block 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-block.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-block-end 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-block-end.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-block-start 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-block-start.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-bottom 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.Safari on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.WebView on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
css.properties.scroll-padding-inline 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-inline.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-inline-end 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-inline-end.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-inline-start 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-inline-start.auto 📋Chrome9/4/2018 Safari9/20/20211112
css.properties.scroll-padding-left 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.Safari on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.WebView on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
css.properties.scroll-padding-right 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.Safari on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.WebView on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
css.properties.scroll-padding-top 📋Chrome9/4/2018 Safari4/26/2021965
Safari: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.Safari on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.WebView on iOS: Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
css.properties.scroll-snap-align 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-snap-align.center 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-snap-align.end 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-snap-align.none 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-snap-align.start 📋Safari9/19/2017 Edge1/15/2020848
css.properties.scroll-snap-stop 📋Chrome6/4/2019 Safari9/20/2021839
css.properties.scroll-snap-stop.always 📋Chrome6/4/2019 Safari9/20/2021839
css.properties.scroll-snap-stop.normal 📋Chrome6/4/2019 Safari9/20/2021839
css.properties.scroll-snap-type 📋Safari9/19/2017 Edge1/15/2020848
Edge: Edge supports an earlier draft of CSS Scroll Snap without axis values.Firefox: On macOS Monterey, scroll snapping does not complete reliably. See bug 1749352.Firefox: An earlier draft of CSS Scroll Snap without axis values.Firefox for Android: An earlier draft of CSS Scroll Snap without axis values.Internet Explorer: Internet Explorer supports an earlier draft of CSS Scroll Snap without axis values.Safari: Older Safari versions support an earlier draft of CSS Scroll Snap without axis values.Safari on iOS: Older Safari on iOS versions support an earlier draft of CSS Scroll Snap without axis values.WebView on iOS: Older WebView on iOS versions support an earlier draft of CSS Scroll Snap without axis values.
css.properties.scroll-snap-type.block 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scroll-snap-type.both 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scroll-snap-type.inline 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scroll-snap-type.none 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scroll-snap-type.x 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scroll-snap-type.y 📋Chrome9/4/2018 Safari3/24/2020567
css.properties.scrollbar-gutter 📋Chrome9/21/2021 Safari12/11/20241177
css.properties.scrollbar-gutter.auto 📋Chrome9/21/2021 Safari12/11/20241177
css.properties.scrollbar-gutter.stable 📋Chrome9/21/2021 Safari12/11/20241177
css.properties.scrollbar-width 📋Chrome1/23/2024 Safari12/11/2024323
css.properties.scrollbar-width.auto 📋Chrome1/23/2024 Safari12/11/2024323
css.properties.scrollbar-width.none 📋Chrome1/23/2024 Safari12/11/2024323
css.properties.scrollbar-width.thin 📋Chrome1/23/2024 Safari12/11/2024323
css.properties.shape-image-threshold 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-margin 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.circle Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.gradient 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.image 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.inset Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.none 📋Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-outside.polygon Chrome8/26/2014 Edge1/15/20201968
css.properties.shape-rendering 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stop-color 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stop-opacity 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-dasharray 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-dasharray.none 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-dashoffset 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linecap 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linecap.butt 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linecap.round 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linecap.square 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linejoin 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linejoin.bevel 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linejoin.miter 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-linejoin.round 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-miterlimit 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-opacity 📋Chrome2/4/2020 Safari3/24/202049
css.properties.stroke-width 📋Chrome2/4/2020 Safari3/24/202049
css.properties.tab-size 📋Chrome7/31/2012 Edge1/15/20202724
Chrome: This property is not yet animatable.Chrome Android: This property is not yet animatable.Edge: This property is not yet animatable.Firefox: Before Firefox 53, this property was not animatable.Firefox for Android: Before Firefox for Android 53, this property was not animatable.Quest Browser: This property is not yet animatable.Samsung Internet: This property is not yet animatable.
css.properties.tab-size.length 📋Chrome4/14/2015 Safari3/24/20201806
css.properties.table-layout 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-align 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-align.center 📋Chrome12/11/2008 Edge1/15/20204052
css.properties.text-align.end 📋Safari3/18/2008 Edge1/15/20204320
css.properties.text-align.justify 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-align.left 📋Chrome12/11/2008 Edge1/15/20204052
css.properties.text-align.match-parent 📋Chrome12/13/2011 Safari3/14/20223744
css.properties.text-align.right 📋Chrome12/11/2008 Edge1/15/20204052
css.properties.text-align.start 📋Safari3/18/2008 Edge1/15/20204320
css.properties.text-align-last 📋Edge7/29/2015 Safari9/12/20222602
Internet Explorer: IE only supports text-align-last when text-align is set to justify.Internet Explorer: The start and end values are not supported.
css.properties.text-align-last.auto 📋Edge7/29/2015 Safari9/12/20222602
css.properties.text-anchor 📋Chrome2/4/2020 Safari3/24/202049
css.properties.text-box 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box.normal 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-edge 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-edge.auto 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-trim 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-trim.none 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-trim.trim-both 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-trim.trim-end 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-box-trim.trim-start 📋Safari12/11/2024 Edge2/6/202557
css.properties.text-combine-upright 📋Chrome1/20/2016 Safari3/14/20222245
Chrome: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Chrome Android: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Firefox: Before version 81, Firefox implemented the property as animatable. This was corrected to spec in 81.Firefox for Android: Before version 81, Firefox for Android implemented the property as animatable. This was corrected to spec in 81.Quest Browser: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Opera: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Opera Android: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Safari: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Safari on iOS: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.Samsung Internet: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.WebView Android: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.WebView on iOS: This property was initially named -webkit-text-combine according to a 2011 version of the CSS3 Writing Modes specification, supporting the values none and horizontal without digits.
css.properties.text-decoration 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-decoration.includes_color-and-style Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-color 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.text-decoration-line 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.text-decoration-line.blink 📋Safari10/16/2014 Edge1/15/20201917
Chrome: The blink value does not have any effect.Chrome Android: The blink value does not have any effect.Edge: The blink value does not have any effect.Firefox: The blink value does not have any effect.Firefox for Android: The blink value does not have any effect.Quest Browser: The blink value does not have any effect.Samsung Internet: The blink value does not have any effect.WebView Android: The blink value does not have any effect.
css.properties.text-decoration-line.line-through 📋Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-line.none 📋Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-line.overline 📋Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-line.underline 📋Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-skip-ink 📋Chrome1/23/2018 Safari3/14/20221511
css.properties.text-decoration-skip-ink.auto 📋Chrome1/23/2018 Safari3/14/20221511
css.properties.text-decoration-skip-ink.none 📋Chrome1/23/2018 Safari3/14/20221511
css.properties.text-decoration-style 📋Chrome3/9/2017 Edge1/15/20201042
css.properties.text-decoration-style.wavy Safari10/16/2014 Edge1/15/20201917
css.properties.text-decoration-thickness 📋Safari3/25/2019 Edge3/4/2021710
Chrome: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Chrome Android: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Edge: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Quest Browser: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Opera: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Opera Android: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.Samsung Internet: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.WebView Android: The text-decoration-thickness property does not work unless either text-underline-offset is set to something other than auto or text-decoration-color is set to something other than currentColor. See bug 40734940.
css.properties.text-decoration-thickness.auto 📋Safari3/25/2019 Edge11/19/2020605
css.properties.text-decoration-thickness.from-font 📋Safari3/25/2019 Edge11/19/2020605
css.properties.text-decoration-thickness.percentage Chrome11/17/2020 Safari3/5/20241204
css.properties.text-emphasis 📋Safari10/22/2013 Edge3/3/20223054
css.properties.text-emphasis-color 📋Safari10/22/2013 Edge3/3/20223054
css.properties.text-emphasis-position 📋Safari10/22/2013 Edge3/3/20223054
css.properties.text-emphasis-position.left Safari10/16/2014 Edge1/15/20201917
css.properties.text-emphasis-position.over Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-position.right Safari10/16/2014 Edge1/15/20201917
css.properties.text-emphasis-position.under Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style 📋Safari10/22/2013 Edge3/3/20223054
css.properties.text-emphasis-style.circle 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.dot 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.double-circle 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.filled 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.none 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.sesame 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-emphasis-style.triangle 📋Safari3/24/2020 Edge3/3/2022709
css.properties.text-indent 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-orientation 📋Chrome1/20/2016 Safari9/16/20201701
css.properties.text-orientation.mixed 📋Safari3/24/2020 Edge5/21/202058
css.properties.text-orientation.sideways 📋Chrome2/21/2013 Edge1/15/20202519
css.properties.text-orientation.upright 📋Safari3/24/2020 Edge5/21/202058
css.properties.text-overflow 📋Safari4/15/2005 Edge7/29/20153757
Firefox: Until Firefox 10, handling of text-overflow on blocks with inline overflow on both horizontal sides was incorrect. Before Firefox 10, if only one value was specified (such as text-overflow: ellipsis;), text was ellipsed on both sides of the block, instead of only the end edge based on the block's text direction.Firefox for Android: Until Firefox for Android 10, handling of text-overflow on blocks with inline overflow on both horizontal sides was incorrect. Before Firefox for Android 10, if only one value was specified (such as text-overflow: ellipsis;), text was ellipsed on both sides of the block, instead of only the end edge based on the block's text direction.
css.properties.text-overflow.clip 📋Safari4/15/2005 Edge7/29/20153757
css.properties.text-overflow.ellipsis 📋Safari4/15/2005 Edge7/29/20153757
css.properties.text-rendering 📋Chrome1/25/2010 Edge1/15/20203642
Chrome: This property is only supported on Windows and Linux.Chrome: Initial versions had bugs on Windows and Linux that broke font substitution, small-caps, letter-spacing or caused text to overlap. See bug 40156511, bug 40430936, bug 40444347, bug 40286561.Chrome Android: This property is only supported on Windows and Linux.Chrome Android: Initial versions had bugs on Windows and Linux that broke font substitution, small-caps, letter-spacing or caused text to overlap. See bug 40156511, bug 40430936, bug 40444347, bug 40286561.Edge: This property is only supported on Windows and Linux.Edge: Initial versions had bugs on Windows and Linux that broke font substitution, small-caps, letter-spacing or caused text to overlap. See bug 40156511, bug 40430936, bug 40444347, bug 40286561.Firefox: This property is only supported on Windows and Linux.Firefox: The optimizeSpeed option has no effect on Firefox 4 because the standard code for text rendering is already fast and there is not a faster code path at this time. See bug 595688 for details.Quest Browser: This property is only supported on Windows and Linux.Quest Browser: Initial versions had bugs on Windows and Linux that broke font substitution, small-caps, letter-spacing or caused text to overlap. See bug 40156511, bug 40430936, bug 40444347, bug 40286561.Samsung Internet: This property is only supported on Windows and Linux. Samsung Internet is not on Windows or Linux.WebView Android: From version 3 to 4.3, there is a serious bug where text-rendering: optimizeLegibility causes custom web fonts to not render. This was fixed in version 4.4.
css.properties.text-rendering.auto Chrome1/25/2010 Edge1/15/20203642
Chrome: Chrome treats auto as optimizeSpeed.Chrome Android: Chrome Android treats auto as optimizeSpeed.Edge: Edge treats auto as optimizeSpeed.Firefox: If the font size is 20 pixels or higher, Firefox treats auto as optimizeLegibility. For smaller text, Firefox treats auto as optimizeSpeed. The 20-pixel threshold can be changed with the browser.display.auto_quality_min_font_size preference.Firefox for Android: If the font size is 20 pixels or higher, Firefox treats auto as optimizeLegibility. For smaller text, Firefox treats auto as optimizeSpeed. The 20-pixel threshold can be changed with the browser.display.auto_quality_min_font_size preference.Quest Browser: Quest Browser treats auto as optimizeSpeed.Opera: Opera treats auto as optimizeSpeed.Opera Android: Opera Android treats auto as optimizeSpeed.Safari: Safari treats auto as optimizeSpeed. See bug 41363.Safari on iOS: Safari on iOS treats auto as optimizeSpeed. See bug 41363.Samsung Internet: Samsung Internet treats auto as optimizeSpeed.WebView Android: WebView Android treats auto as optimizeSpeed.WebView on iOS: WebView on iOS treats auto as optimizeSpeed. See bug 41363.
css.properties.text-rendering.geometricPrecision Chrome8/2/2011 Edge1/15/20203088
Chrome: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Chrome Android: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Edge: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Firefox: Firefox treats geometricPrecision the same as optimizeLegibility.Firefox for Android: Firefox treats geometricPrecision the same as optimizeLegibility.Quest Browser: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Opera: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Opera Android: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.Samsung Internet: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.WebView Android: Supports true geometric precision without rounding up or down to the nearest supported font size in the operating system.
css.properties.text-shadow 📋Safari10/24/2003 Edge7/29/20154296
Firefox: Firefox versions before 57 have a bug whereby transitions will not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified (bug 726550).Firefox: From Firefox 4, the blur radius is capped at 300 for performance reasons.Firefox: Firefox theoretically supports infinite text-shadows (don't try it).Firefox: If the <color> value is unspecified, then Firefox uses the value of the element's color property.Firefox for Android: Firefox for Android versions before 57 have a bug whereby transitions will not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified (bug 726550).Firefox for Android: From Firefox for Android 4, the blur radius is capped at 300 for performance reasons.Firefox for Android: Firefox for Android theoretically supports infinite text-shadows (don't try it).Firefox for Android: If the <color> value is unspecified, then Firefox for Android uses the value of the element's color property.Opera: Opera supports a maximum of 6-9 text-shadows for performance reasons. The blur radius is limited to 100px.Opera: Opera 9.5 to 10.1 adheres to the old, reverse painting order (in CSS2, the first specified shadow is on the bottom).Safari: In Safari, any shadows that do not explicitly specify a color are transparent.Safari: Safari 1.1 to 3.2 only supports one text-shadow (displays the first shadow of a comma-separated list and ignores the rest). Safari 4.0 (WebKit 528) and later support multiple text-shadows.Safari on iOS: In Safari, any shadows that do not explicitly specify a color are transparent.Safari on iOS: Safari iOS 1 and 2 only support one text-shadow (displays the first shadow of a comma-separated list and ignores the rest). Safari iOS 3 (WebKit 528) and later support multiple text-shadows.WebView on iOS: In Safari, any shadows that do not explicitly specify a color are transparent.WebView on iOS: Safari iOS 1 and 2 only support one text-shadow (displays the first shadow of a comma-separated list and ignores the rest). Safari iOS 3 (WebKit 528) and later support multiple text-shadows.
css.properties.text-transform 📋Safari6/23/2003 Edge7/29/20154419
Chrome: The text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.Chrome Android: The text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.Quest Browser: The text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.Opera: Since Opera 15, the text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.Safari: The text-transform property does not work for ::first-line pseudo-elements (also not for the old one-colon syntax). See bug 3409.Safari on iOS: The text-transform property does not work for ::first-line pseudo-elements (also not for the old one-colon syntax). See bug 3409.Samsung Internet: The text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.WebView Android: The text-transform property does not work for ::first-line pseudo-elements (nor for the one-colon syntax). See bug 40214861.WebView on iOS: The text-transform property does not work for ::first-line pseudo-elements (also not for the old one-colon syntax). See bug 3409.
css.properties.text-transform.capitalize 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 14, some punctuation characters could interfere with correct capitalization. See bug 731536.Firefox for Android: Before Firefox for Android 14, some punctuation characters could interfere with correct capitalization. See bug 731536.
css.properties.text-transform.lowercase 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-transform.lowercase_sigma Safari7/25/2012 Edge7/29/20151099
css.properties.text-transform.none 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-transform.turkic_is Chrome11/12/2013 Edge7/29/2015624
css.properties.text-transform.uppercase 📋Safari6/23/2003 Edge7/29/20154419
css.properties.text-transform.uppercase_eszett Safari6/23/2003 Edge10/2/20185580
css.properties.text-underline-offset 📋Safari3/25/2019 Edge11/19/2020605
css.properties.text-underline-offset.auto 📋Safari3/25/2019 Edge11/19/2020605
css.properties.text-underline-offset.percentage 📋Chrome11/17/2020 Safari12/11/20241485
css.properties.text-underline-position 📋Chrome2/20/2014 Safari3/25/20191859
css.properties.text-underline-position.from-font Safari3/25/2019 Edge11/19/2020605
css.properties.text-underline-position.left Chrome12/4/2018 Safari12/11/20242199
css.properties.text-underline-position.right Chrome12/4/2018 Safari12/11/20242199
css.properties.text-underline-position.under Chrome2/20/2014 Edge1/15/20202155
css.properties.text-wrap 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.text-wrap.balance 📋Chrome5/30/2023 Safari5/13/2024349
css.properties.text-wrap.nowrap 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.text-wrap.stable 📋Safari5/13/2024 Edge10/17/2024157
css.properties.text-wrap.wrap 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.text-wrap-mode 📋Safari3/5/2024 Edge10/17/2024226
css.properties.text-wrap-mode.nowrap Safari3/5/2024 Edge10/17/2024226
css.properties.text-wrap-mode.wrap Safari3/5/2024 Edge10/17/2024226
css.properties.text-wrap-style 📋Safari5/13/2024 Edge10/17/2024157
css.properties.text-wrap-style.auto 📋Safari5/13/2024 Edge10/17/2024157
css.properties.text-wrap-style.balance 📋Safari5/13/2024 Edge10/17/2024157
css.properties.text-wrap-style.stable 📋Safari5/13/2024 Edge10/17/2024157
css.properties.top 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: In Internet Explorer versions before 7, when both top and bottom are specified, the element position is overconstrained and the top property has precedence; the computed value of bottom is set to -top, while its specified value is ignored.
css.properties.top.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.touch-action 📋Chrome7/16/2014 Safari9/19/20191891
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.
css.properties.touch-action.manipulation Chrome7/16/2014 Safari9/19/20191891
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.
css.properties.touch-action.none Chrome7/16/2014 Safari9/19/20191891
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.
css.properties.touch-action.pan-x Chrome7/16/2014 Safari9/19/20191891
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.
css.properties.touch-action.pan-y Chrome7/16/2014 Safari9/19/20191891
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.
css.properties.touch-action.pinch-zoom Edge7/29/2015 Safari9/19/20191513
Firefox: Not applicable to Firefox platforms that support neither pointer nor touch events.Firefox for Android: Not applicable to Firefox for Android platforms that support neither pointer nor touch events.
css.properties.transform 📋Chrome7/16/2014 Safari9/30/2015441
Internet Explorer: Internet Explorer does not support the global values initial and unset.Internet Explorer: Internet Explorer 5.5 or later supports a proprietary Matrix Filter which can be used to achieve a similar effect.WebView Android: Android 2.3 has a bug where input forms will "jump" when typing, if any container element has a -webkit-transform.
css.properties.transform.3d Safari6/8/2009 Edge7/29/20152242
css.properties.transform-box 📋Safari9/19/2017 Edge1/15/2020848
css.properties.transform-box.border-box 📋Safari3/24/2020 Edge10/13/20231298
css.properties.transform-box.content-box 📋Safari3/24/2020 Edge10/13/20231298
css.properties.transform-box.fill-box 📋Chrome1/23/2018 Safari3/24/2020791
css.properties.transform-box.stroke-box 📋Safari3/24/2020 Edge10/13/20231298
css.properties.transform-box.view-box 📋Chrome1/23/2018 Safari3/24/2020791
css.properties.transform-origin 📋Chrome7/16/2014 Safari9/30/2015441
css.properties.transform-origin.bottom 📋Safari4/29/2005 Edge7/29/20153743
css.properties.transform-origin.center 📋Safari4/29/2005 Edge7/29/20153743
css.properties.transform-origin.left 📋Safari4/29/2005 Edge7/29/20153743
css.properties.transform-origin.right 📋Safari4/29/2005 Edge7/29/20153743
css.properties.transform-origin.svg_elements Chrome5/15/2012 Edge4/30/20182176
Firefox: Keywords and percentages refer to the canvas instead of the object itself. See bug 1209061.Firefox for Android: Keywords and percentages refer to the canvas instead of the object itself. See bug 1209061.Safari: Only supported for transformations applied using the CSS transform property (e.g. .className { transform: rotate(45deg); transform-origin: center; }). It has no effect on transformations applied using the transform SVG attribute (e.g. <rect style="transform-origin: center;" transform="rotate(45)" />).Safari on iOS: Only supported for transformations applied using the CSS transform property (e.g. .className { transform: rotate(45deg); transform-origin: center; }). It has no effect on transformations applied using the transform SVG attribute (e.g. <rect style="transform-origin: center;" transform="rotate(45)" />).WebView on iOS: Only supported for transformations applied using the CSS transform property (e.g. .className { transform: rotate(45deg); transform-origin: center; }). It has no effect on transformations applied using the transform SVG attribute (e.g. <rect style="transform-origin: center;" transform="rotate(45)" />).
css.properties.transform-origin.three_value_syntax Safari6/7/2010 Edge7/29/20151878
css.properties.transform-origin.top 📋Safari4/29/2005 Edge7/29/20153743
css.properties.transform-style 📋Chrome7/16/2014 Safari9/30/2015441
css.properties.transition 📋Chrome3/26/2013 Safari9/30/2015918
Firefox: Before Firefox 57, transitions do not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified (see bug 726550).Firefox: Before Firefox 57, cancelling a filling animation (for example, with animation-fill-mode: forwards set) can trigger a transition set on the same element, although only once (see bug 1192592 and these test cases for more information).Firefox: Before Firefox 57, the background-position property can't be transitioned between two values containing different numbers of <position> values, for example background-position: 10px 10px; and background-position: 20px 20px, 30px 30px; (see bug 1390446).Firefox for Android: Before Firefox for Android 57, transitions do not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified (see bug 726550).Firefox for Android: Before Firefox for Android 57, cancelling a filling animation (for example, with animation-fill-mode: forwards set) can trigger a transition set on the same element, although only once (see bug 1192592 and these test cases for more information).Firefox for Android: Before Firefox for Android 57, the background-position property can't be transitioned between two values containing different numbers of <position> values, for example background-position: 10px 10px; and background-position: 20px 20px, 30px 30px; (see bug 1390446).
css.properties.transition.transition-behavior Chrome9/12/2023 Safari3/5/2024175
css.properties.transition-behavior 📋Chrome9/12/2023 Safari3/5/2024175
css.properties.transition-delay 📋Chrome3/26/2013 Safari9/30/2015918
css.properties.transition-duration 📋Chrome3/26/2013 Safari9/30/2015918
css.properties.transition-property 📋Chrome3/26/2013 Safari9/30/2015918
css.properties.transition-property.IDENT_value Chrome12/11/2008 Edge7/29/20152421
css.properties.transition-property.all 📋Safari3/18/2008 Edge7/29/20152689
css.properties.transition-property.none 📋Safari3/18/2008 Edge7/29/20152689
css.properties.transition-timing-function 📋Chrome3/26/2013 Safari9/30/2015918
css.properties.transition-timing-function.jump Chrome9/10/2019 Safari9/16/2020372
css.properties.translate 📋Safari4/26/2021 Edge8/5/2022466
css.properties.translate.none 📋Safari4/26/2021 Edge8/5/2022466
css.properties.unicode-bidi 📋Safari4/15/2005 Edge7/29/20153757
css.properties.unicode-bidi.bidi-override 📋Safari4/15/2005 Edge7/29/20153757
css.properties.unicode-bidi.embed 📋Safari4/15/2005 Edge7/29/20153757
css.properties.unicode-bidi.isolate 📋Chrome1/20/2016 Edge1/15/20201456
Chrome: Before Chrome 47, -webkit-isolate could lock up the browser.Chrome: Since Chrome 19, the syntax from a previous version of the specification, where the isolate keyword could be used together with bidi-override, is allowed.Firefox: From Firefox 10 to Firefox 16 (inclusive), the isolate keyword could be used together with bidi-override, which was the syntax from a previous version of the specification. From Firefox 17, only one value is allowed. Use isolate-override instead the previous isolate bidi-override.Firefox for Android: From Firefox for Android 10 to Firefox for Android 16 (inclusive), the isolate keyword could be used together with bidi-override, which was the syntax from a previous version of the specification. From Firefox for Android 17, only one value is allowed. Use isolate-override instead the previous isolate bidi-override.Opera: Before Opera 34, -webkit-isolate could lock up the browser.Opera: Since Opera 15, the syntax from a previous version of the specification, where the isolate keyword could be used together with bidi-override, is allowed.Safari: Before Safari 9, -webkit-isolate could lock up the browser.Safari on iOS: Before Safari on iOS 9, -webkit-isolate could lock up the browser.WebView on iOS: Before WebView on iOS 9, -webkit-isolate could lock up the browser.
css.properties.unicode-bidi.isolate-override 📋Chrome1/20/2016 Edge1/15/20201456
css.properties.unicode-bidi.normal 📋Safari4/15/2005 Edge7/29/20153757
css.properties.unicode-bidi.plaintext 📋Chrome1/20/2016 Edge1/15/20201456
Firefox: Before Firefox 50, the plaintext value was ignored for vertical writing modes (bug 1302734).Firefox: Before Firefox 15, plaintext didn't do anything to an inline element. The specification changed and the implementation was changed in Firefox 15.Firefox for Android: Before Firefox for Android 50, the plaintext value was ignored for vertical writing modes (bug 1302734).Firefox for Android: Before Firefox for Android 15, plaintext didn't do anything to an inline element. The specification changed and the implementation was changed in Firefox for Android 15.
css.properties.user-modify Safari10/26/2007 Edge7/29/20152833
Firefox: While the CSS property is parsed and accepted, it does not have any effect.Firefox for Android: While the CSS property is parsed and accepted, it does not have any effect.
css.properties.user-modify.read-write-plaintext-only Safari10/26/2007 Edge7/29/20152833
css.properties.user-select 📋Safari10/26/2007 Edge1/15/20204464
css.properties.user-select.all Chrome8/31/2016 Safari9/12/20222203
css.properties.user-select.auto Safari4/29/2005 Edge7/29/20153743
css.properties.user-select.none Safari4/29/2005 Edge7/29/20153743
css.properties.user-select.text Safari4/29/2005 Edge7/29/20153743
css.properties.vector-effect 📋Chrome2/4/2020 Safari3/24/202049
css.properties.vertical-align 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.baseline 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.bottom 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.middle 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.sub 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.super 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.text-bottom 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.text-top 📋Safari6/23/2003 Edge7/29/20154419
css.properties.vertical-align.top 📋Safari6/23/2003 Edge7/29/20154419
css.properties.view-transition-class 📋Chrome5/14/2024 Safari12/11/2024211
css.properties.view-transition-class.none 📋Chrome5/14/2024 Safari12/11/2024211
css.properties.view-transition-name 📋Chrome3/7/2023 Safari9/16/2024559
css.properties.view-transition-name.none 📋Chrome3/7/2023 Safari9/16/2024559
css.properties.visibility 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Internet Explorer doesn't support visibility: initial.Internet Explorer: Internet Explorer doesn't support visibility: unset.Internet Explorer: Up to Internet Explorer 7, descendants of hidden elements will still be invisible even if they have visibility set to visible.
css.properties.visibility.collapse 📋Safari4/15/2005 Edge7/29/20153757
Chrome: Chrome treats visibility: collapse like hidden, leaving a white gap.Chrome: Chrome supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Chrome Android: Chrome Android treats visibility: collapse like hidden, leaving a white gap.Chrome Android: Chrome Android supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Firefox: Firefox doesn't hide borders when hiding <col> and <colgroup> elements if border-collapse: collapse is set.Firefox: Before Firefox 88, collapse is not supported on ruby annotations.Firefox for Android: Firefox for Android doesn't hide borders when hiding <col> and <colgroup> elements if border-collapse: collapse is set.Firefox for Android: Before Firefox for Android 88, collapse is not supported on ruby annotations.Quest Browser: Quest Browser treats visibility: collapse like hidden, leaving a white gap.Quest Browser: Quest Browser supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Opera: Opera treats visibility: collapse like hidden, leaving a white gap.Opera: Opera supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Opera Android: Opera treats visibility: collapse like hidden, leaving a white gap.Opera Android: Opera supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Safari: Safari treats visibility: collapse like hidden, leaving a white gap.Safari: Safari supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Safari on iOS: Safari on iOS treats visibility: collapse like hidden, leaving a white gap.Safari on iOS: Safari on iOS supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.Samsung Internet: Samsung Internet treats visibility: collapse like hidden, leaving a white gap.Samsung Internet: Samsung Internet supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.WebView Android: WebView Android treats visibility: collapse like hidden, leaving a white gap.WebView Android: WebView Android supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.WebView on iOS: WebView on iOS treats visibility: collapse like hidden, leaving a white gap.WebView on iOS: WebView on iOS supports the collapse value only on <tr>, <thead>, <tbody>, and <tfoot>, but not on <col> and <colgroup> elements.
css.properties.visibility.hidden 📋Safari6/23/2003 Edge7/29/20154419
css.properties.visibility.visible 📋Safari6/23/2003 Edge7/29/20154419
css.properties.white-space 📋Safari6/23/2003 Edge7/29/20154419
css.properties.white-space.break-spaces 📋Chrome7/30/2019 Safari3/24/2020238
css.properties.white-space.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.white-space.nowrap 📋Safari6/23/2003 Edge7/29/20154419
css.properties.white-space.pre 📋Safari6/23/2003 Edge7/29/20154419
css.properties.white-space.pre-line 📋Safari10/26/2007 Edge7/29/20152833
css.properties.white-space.pre-wrap 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: From Internet Explorer 5.5 to 7, word-wrap: break-word; can be used for line breaks in pre elements.
css.properties.white-space.textarea_support Safari6/23/2003 Edge7/29/20154419
css.properties.white-space-collapse 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.white-space-collapse.break-spaces 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.white-space-collapse.collapse 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.white-space-collapse.preserve 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.white-space-collapse.preserve-breaks 📋Chrome5/30/2023 Safari3/5/2024280
css.properties.widows 📋Safari4/15/2005 Edge7/29/20153757
css.properties.width 📋Safari6/23/2003 Edge7/29/20154419
css.properties.width.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.width.fit-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.width.is_animatable Chrome3/26/2013 Edge7/29/2015855
css.properties.width.max-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.width.min-content 📋Chrome10/13/2015 Edge1/15/20201555
css.properties.width.stretch 📋Chrome9/25/2012 Edge1/15/20202668
css.properties.will-change 📋Chrome7/16/2014 Edge1/15/20202009
css.properties.will-change.auto 📋Chrome7/16/2014 Edge1/15/20202009
css.properties.will-change.contents 📋Chrome7/16/2014 Edge1/15/20202009
css.properties.will-change.scroll-position 📋Chrome7/16/2014 Edge1/15/20202009
css.properties.word-break 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: No version of Internet Explorer supports the initial value.Internet Explorer: Don't use -ms-word-break, which is a synonym for word-break.
css.properties.word-break.break-all 📋Safari10/26/2007 Edge7/29/20152833
css.properties.word-break.break-word 📋Safari10/26/2007 Edge7/29/20152833
css.properties.word-break.keep-all 📋Chrome7/21/2015 Safari9/30/201571
css.properties.word-break.normal 📋Safari10/26/2007 Edge7/29/20152833
css.properties.word-spacing 📋Safari6/23/2003 Edge7/29/20154419
css.properties.word-spacing.normal 📋Safari6/23/2003 Edge7/29/20154419
css.properties.word-spacing.svg_elements Chrome12/11/2008 Edge7/29/20152421
css.properties.writing-mode 📋Edge7/29/2015 Safari3/27/2017607
Firefox: Firefox 42 added support for bidirectional and RTL scripts in vertical modes.Firefox for Android: Firefox for Android 42 added support for bidirectional and RTL scripts in vertical modes.Internet Explorer: Internet Explorer's implementation differs from the specification.Internet Explorer: Internet Explorer's implementation differs from the specification.
css.properties.writing-mode.horizontal-tb Edge7/29/2015 Chrome1/20/2016175
css.properties.writing-mode.lr Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.lr-tb Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.rl Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.rl-tb Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.tb Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.tb-rl Edge7/29/2015 Safari3/27/2017607
css.properties.writing-mode.vertical-lr Edge7/29/2015 Chrome1/20/2016175
css.properties.writing-mode.vertical-rl Edge7/29/2015 Chrome1/20/2016175
css.properties.writing-mode.vertical_oriented_form_controls Safari3/5/2024 Edge4/18/202444
Chrome: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Chrome: Supported for select, button, textarea and textual input elements.Chrome: Only supported for select and button elements.Chrome Android: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Chrome Android: Supported for select, button, textarea and textual input elements.Chrome Android: Only supported for select and button elements.Edge: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Edge: Supported for select, button, textarea and textual input elements.Edge: Only supported for select and button elements.Opera: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Opera: Supported for select, button, textarea and textual input elements.Opera: Only supported for select and button elements.Opera Android: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Opera Android: Supported for select, button, textarea and textual input elements.Opera Android: Only supported for select and button elements.Safari: Support for range sliders, textual inputs, and textareas onlySafari on iOS: Support for range sliders, textual inputs, and textareas onlySamsung Internet: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.Samsung Internet: Supported for select, button, textarea and textual input elements.Samsung Internet: Only supported for select and button elements.WebView Android: Supported for select, button, textarea, textual input, range slider, meter, and progress elements.WebView Android: Supported for select, button, textarea and textual input elements.WebView Android: Only supported for select and button elements.WebView on iOS: Support for range sliders, textual inputs, and textareas only
css.properties.x 📋Chrome2/4/2020 Safari3/24/202049
css.properties.y 📋Chrome2/4/2020 Safari3/24/202049
css.properties.z-index 📋Safari6/23/2003 Edge7/29/20154419
css.properties.z-index.auto 📋Safari6/23/2003 Edge7/29/20154419
css.properties.z-index.negative_values Safari6/23/2003 Edge7/29/20154419
css.properties.zoom 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.-webkit-inner-spin-button Safari6/7/2010 Edge1/15/20203509
css.selectors.-webkit-meter-bar Chrome6/7/2011 Edge1/15/20203144
css.selectors.-webkit-meter-even-less-good-value Chrome6/7/2011 Edge1/15/20203144
css.selectors.-webkit-meter-inner-element Chrome11/6/2012 Edge1/15/20202626
css.selectors.-webkit-meter-optimum-value Chrome6/7/2011 Edge1/15/20203144
css.selectors.-webkit-meter-suboptimum-value Chrome6/7/2011 Edge1/15/20203144
css.selectors.-webkit-progress-bar Chrome2/21/2013 Edge1/15/20202519
css.selectors.-webkit-progress-inner-element Chrome11/6/2012 Edge1/15/20202626
css.selectors.-webkit-progress-value Chrome2/21/2013 Edge1/15/20202519
css.selectors.-webkit-resizer Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-scrollbar Chrome5/21/2009 Edge1/15/20203891
Safari on iOS: From Safari 13, only display: none works with this pseudo-element. Other styles have no effect.WebView on iOS: From Safari 13, only display: none works with this pseudo-element. Other styles have no effect.
css.selectors.-webkit-scrollbar-button Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-scrollbar-corner Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-scrollbar-thumb Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-scrollbar-track Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-scrollbar-track-piece Chrome5/21/2009 Edge1/15/20203891
css.selectors.-webkit-search-cancel-button Safari10/26/2007 Edge1/15/20204464
css.selectors.-webkit-search-results-button Safari10/26/2007 Edge1/15/20204464
css.selectors.active 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.active.non_a_elements Safari6/23/2003 Edge7/29/20154419
Safari on iOS: By default, Safari on iOS does not use the :active state unless there is a touchstart event handler on the relevant element or on the <body> element.WebView on iOS: By default, WebView on iOS does not use the :active state unless there is a touchstart event handler on the relevant element or on the <body> element.
css.selectors.active-view-transition 📋Chrome5/14/2024 Safari9/16/2024125
css.selectors.after 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 57, Firefox had a bug where ::after pseudo-elements were still generated, even if the content property value were set to normal or none.Firefox: Before Firefox 3.5, only the CSS level 2 behavior of :after was supported, which disallowed position, float, list-style-* and some display properties.Firefox for Android: Before Firefox for Android 57, Firefox for Android had a bug where ::after pseudo-elements were still generated, even if the content property value were set to normal or none.Firefox for Android: Before Firefox for Android 4.5, only the CSS level 2 behavior of :after was supported, which disallowed position, float, list-style-* and some display properties.
css.selectors.after.animation_and_transition_support Chrome3/26/2013 Edge7/29/2015855
css.selectors.any-link 📋Safari9/30/2015 Edge1/15/20201568
css.selectors.any-link.not_match_link Chrome3/6/2018 Safari9/20/20211294
css.selectors.attribute 📋Safari10/26/2007 Edge7/29/20152833
css.selectors.attribute.case_insensitive_modifier Safari9/30/2015 Edge1/15/20201568
css.selectors.autofill 📋Safari9/20/2021 Edge2/9/2023507
css.selectors.backdrop 📋Chrome8/26/2014 Safari3/14/20222757
css.selectors.backdrop.dialog Chrome1/14/2014 Safari3/14/20222981
css.selectors.backdrop.fullscreen Edge7/29/2015 Safari3/27/20232798
css.selectors.backdrop.inherit_from_originating_element Chrome2/20/2024 Safari3/5/202414
css.selectors.backdrop.popover Chrome5/30/2023 Safari9/18/2023111
css.selectors.before 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 57, Firefox had a bug where ::before pseudo-elements were still generated, even if the content property value were set to normal or none.Firefox: Before Firefox 3.5, only the CSS level 2 behavior of :before was supported, which disallowed position, float, list-style-* and some display properties.Firefox for Android: Before Firefox 57, Firefox had a bug where ::before pseudo-elements were still generated, even if the content property value were set to normal or none.
css.selectors.before.animation_and_transition_support Chrome3/26/2013 Edge7/29/2015855
css.selectors.checked 📋Safari3/18/2008 Edge7/29/20152689
Chrome: On macOS, styling <option> elements has no effect.Edge: On macOS, styling <option> elements has no effect.Firefox: From Firefox 56, <option> elements cannot be styled.Firefox: On macOS, styling <option> elements has no effect.Firefox for Android: From Firefox 56, <option> elements cannot be styled.Opera: On macOS, styling <option> elements has no effect.Safari: Styling <option> elements has no effect.Safari on iOS: Styling <option> elements has no effect.WebView on iOS: Styling <option> elements has no effect.
css.selectors.child 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Before Internet Explorer 10, the combinator only works in standards mode.
css.selectors.class 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.cue 📋Chrome3/26/2013 Edge1/15/20202486
Firefox: From Firefox 69, only allowed properties apply to the ::cue pseudo-element with no argument. See Permitted properties for a list of the allowed properties.
css.selectors.cue.selector_argument Chrome3/26/2013 Edge1/15/20202486
css.selectors.default 📋Safari6/7/2010 Edge1/15/20203509
css.selectors.defined 📋Safari9/20/2016 Edge1/15/20201212
css.selectors.descendant 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.dir 📋Safari3/27/2023 Edge12/7/2023255
css.selectors.disabled 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 79, Edge did not recognize :disabled on the <fieldset> element.Internet Explorer: Internet Explorer does not recognize :disabled on the <fieldset> element.
css.selectors.empty 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.enabled 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.file-selector-button 📋Chrome3/2/2021 Safari4/26/202155
css.selectors.first 📋Chrome3/28/2012 Edge7/29/20151218
css.selectors.first-child 📋Safari3/18/2008 Edge7/29/20152689
Internet Explorer: Internet Explorer 7 doesn't update :first-child styles when elements are added dynamically.Internet Explorer: In Internet Explorer 8, if an element is inserted dynamically by clicking on a link, then the :first-child style isn't applied until the link loses focus.
css.selectors.first-letter 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.first-line 📋Safari6/23/2003 Edge7/29/20154419
Chrome: Before Chrome 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Chrome: Before Chrome 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Chrome Android: Before Chrome Android 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Chrome Android: Before Chrome Android 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Quest Browser: Before Quest Browser 5.0, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Quest Browser: Before Quest Browser 5.0, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Opera: From Opera 15 to Opera 49 (exclusive), the text-transform property does not work on ::first-line or :first-line pseudo-elements. See bug 40214861.Opera: From Opera 15 to Opera 49 (exclusive), the text-transform property does not work on ::first-line or :first-line pseudo-elements. See bug 40214861.Opera Android: From Opera 15 to Opera 49 (exclusive), the text-transform property does not work on ::first-line or :first-line pseudo-elements. See bug 40214861.Opera Android: From Opera 15 to Opera 49 (exclusive), the text-transform property does not work on ::first-line or :first-line pseudo-elements. See bug 40214861.Safari: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.Safari: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.Safari on iOS: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.Safari on iOS: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.Samsung Internet: Before Samsung Internet 8.0, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.Samsung Internet: Before Samsung Internet 8.0, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.WebView Android: Before WebView 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.WebView Android: Before WebView 62, the text-transform property does not work on ::first-line pseudo-elements. See bug 40214861.WebView on iOS: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.WebView on iOS: The text-transform property does not work for ::first-line or :first-line pseudo-elements. See bug 3409.
css.selectors.first-of-type 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.Internet Explorer: Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
css.selectors.focus 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.focus-visible 📋Edge10/9/2020 Safari3/14/2022521
css.selectors.focus-within 📋Safari3/27/2017 Edge1/15/20201024
css.selectors.fullscreen 📋Edge7/29/2015 Safari3/27/20232798
Safari on iOS: Only available on iPad, not on iPhone.Safari on iOS: Shows an overlay button which can not be disabled. Swiping down exits fullscreen mode, making it unsuitable for some use cases like games.Safari on iOS: Only available on iPad, not on iPhone.WebView on iOS: Only available on iPad, not on iPhone.WebView on iOS: Shows an overlay button which can not be disabled. Swiping down exits fullscreen mode, making it unsuitable for some use cases like games.WebView on iOS: Only available on iPad, not on iPhone.
css.selectors.future 📋Chrome11/6/2012 Edge1/15/20202626
css.selectors.grammar-error 📋Chrome1/23/2024 Safari3/5/202442
css.selectors.has 📋Safari3/14/2022 Chrome9/2/2022172
css.selectors.highlight 📋Edge9/1/2022 Safari12/11/2023466
Firefox: Cannot yet be used with text-decoration and text-shadow.Safari: The style is ignored when combined with user-select: none. See bug 278455.Safari on iOS: The style is ignored when combined with user-select: none. See bug 278455.WebView on iOS: The style is ignored when combined with user-select: none. See bug 278455.
css.selectors.host 📋Safari9/20/2016 Edge1/15/20201212
css.selectors.hostfunction 📋Safari9/20/2016 Edge1/15/20201212
Safari: Certain CSS selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.Safari on iOS: Certain CSS selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.WebView on iOS: Certain CSS selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.
css.selectors.hover 📋Safari4/29/2005 Edge7/29/20153743
Safari on iOS: As of Safari for iOS 7.1.2, tapping a clickable element causes the element to enter the :hover state. The element will remain in the :hover state until a different element has entered the :hover state.WebView on iOS: As of Safari for iOS 7.1.2, tapping a clickable element causes the element to enter the :hover state. The element will remain in the :hover state until a different element has entered the :hover state.
css.selectors.hover.a_elements Safari4/29/2005 Edge7/29/20153743
css.selectors.hover.all_elements Safari4/29/2005 Edge7/29/20153743
Edge: In Edge, hovering over an element and then scrolling up or down without moving the pointer will leave the element in the :hover state until the pointer is moved. See bug 5381673.Internet Explorer: In Internet Explorer 8 to Internet Explorer 11, hovering over an element and then scrolling up or down without moving the pointer will leave the element in the :hover state until the pointer is moved. See bug 926665.Internet Explorer: In Internet Explorer 9 (and possibly earlier), if a <table> has a parent with a non-auto width, overflow-x: auto;, the <table> has enough content to horizontally overflow its parent, and there are :hover styles set on elements within the table, then hovering over said elements will cause the <table>'s height to increase. See a live demo that triggers the bug. One workaround for the bug is to set min-height: 0%; (the % unit must be specified, since unitless and px don't work) on the <table>'s parent element.
css.selectors.id 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.in-range 📋Chrome3/8/2011 Edge11/12/20151710
Chrome: Before Chrome 52, :in-range matched disabled and read-only inputs (see bug 41248615). In Chrome 52, it was changed to only match enabled read-write inputs.Chrome Android: Before Chrome Android 52, :in-range matched disabled and read-only inputs (see bug 41248615). In Chrome Android 52, it was changed to only match enabled read-write inputs.Firefox: Before Firefox 50, :in-range matched disabled and read-only inputs (see bug 1264157). In Firefox 50, it was changed to only match enabled read-write inputs.Quest Browser: Before Quest Browser 5.0, :in-range matched disabled and read-only inputs (see bug 41248615). In Quest Browser 5.0, it was changed to only match enabled read-write inputs.Opera: Before Opera 39, :in-range matched disabled and read-only inputs (see bug 41248615). In Opera 39, it was changed to only match enabled read-write inputs.Opera Android: Before Opera 39, :in-range matched disabled and read-only inputs (see bug 41248615). In Opera 39, it was changed to only match enabled read-write inputs.Safari: In Safari, :in-range matched disabled and read-only inputs (see bug 156530). It was later changed to only match enabled read-write inputs.Safari on iOS: In Safari on iOS, :in-range matched disabled and read-only inputs (see bug 156530). It was later changed to only match enabled read-write inputs.Samsung Internet: Before version 6.0, :in-range matched disabled and read-only inputs (see bug 41248615). In version 6.0, it was changed to only match enabled read-write inputs.WebView Android: Before version 52, :in-range matched disabled and read-only inputs (see bug 41248615). In version 52, it was changed to only match enabled read-write inputs.WebView on iOS: In WebView on iOS, :in-range matched disabled and read-only inputs (see bug 156530). It was later changed to only match enabled read-write inputs.
css.selectors.indeterminate 📋Safari10/26/2007 Edge7/29/20152833
css.selectors.indeterminate.checkbox Safari10/26/2007 Edge7/29/20152833
css.selectors.indeterminate.progress Chrome9/2/2010 Edge7/29/20151791
css.selectors.indeterminate.radio Chrome11/18/2014 Edge1/15/20201884
css.selectors.invalid 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.invalid.form Chrome1/21/2015 Edge1/15/20201820
css.selectors.is 📋Safari9/16/2020 Edge1/21/2021127
Chrome: Doesn't support combinators.Chrome Android: Doesn't support combinators.Edge: Doesn't support combinators.Firefox: Doesn't support combinators.Firefox: See bug 906353.Firefox for Android: Doesn't support combinators.Firefox for Android: See bug 906353.Quest Browser: Doesn't support combinators.Opera: Doesn't support combinators.Opera Android: Doesn't support combinators.Safari: Doesn't support combinators.Safari on iOS: Doesn't support combinators.WebView Android: Doesn't support combinators.WebView on iOS: Doesn't support combinators.
css.selectors.is.forgiving_selector_list Safari9/16/2020 Edge1/21/2021127
css.selectors.lang 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.last-child 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.last-of-type 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.Internet Explorer: Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
css.selectors.left 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.link 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.link.not_match_link Chrome12/11/2008 Safari9/20/20214666
css.selectors.list 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.marker 📋Safari4/12/2018 Chrome10/20/2020922
Safari: Safari support is limited to color and font-size. See bug 204163.Safari on iOS: Safari on iOS support is limited to color and font-size. See bug 204163.WebView on iOS: WebView on iOS support is limited to color and font-size. See bug 204163.
css.selectors.modal 📋Safari7/20/2022 Chrome9/2/202244
css.selectors.namespace 📋Safari10/26/2007 Edge7/29/20152833
css.selectors.nesting 📋Chrome12/5/2023 Safari12/11/20236
Chrome: Does not support nested rules that start with a type selector.Chrome Android: Does not support nested rules that start with a type selector.Edge: Does not support nested rules that start with a type selector.Opera: Does not support nested rules that start with a type selector.Opera Android: Does not support nested rules that start with a type selector.Safari: Does not support nested rules that start with a type selector.Safari on iOS: Does not support nested rules that start with a type selector.Samsung Internet: Does not support nested rules that start with a type selector.WebView Android: Does not support nested rules that start with a type selector.WebView on iOS: Does not support nested rules that start with a type selector.
css.selectors.next-sibling 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Before Internet Explorer 10, the combinator only works in standards mode.Internet Explorer: Internet Explorer 7 doesn't update the style correctly when an element is dynamically placed before an element that matched the selector.Internet Explorer: In Internet Explorer 8, if an element is inserted dynamically by clicking on a link the first-child style isn't applied until the link loses focus.
css.selectors.not 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.not.selector_list Safari9/30/2015 Edge1/21/20211940
css.selectors.nth-child 📋Safari3/18/2008 Edge7/29/20152689
Opera: Before Opera 15, Opera does not handle dynamically inserted elements for :nth-child().Opera Android: Before Opera 15, Opera does not handle dynamically inserted elements for :nth-child().
css.selectors.nth-child.of_syntax Safari9/30/2015 Edge3/13/20232721
css.selectors.nth-last-child 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.nth-last-child.of_syntax Safari9/30/2015 Edge3/13/20232721
css.selectors.nth-last-of-type 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.Internet Explorer: Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
css.selectors.nth-of-type 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.Internet Explorer: Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
css.selectors.only-child 📋Safari3/18/2008 Edge7/29/20152689
css.selectors.only-of-type 📋Safari3/18/2008 Edge7/29/20152689
Edge: Before Edge 16, Microsoft Edge treats all unknown elements (such as custom elements) as the same element type.Internet Explorer: Internet Explorer treats all unknown elements (such as custom elements) as the same element type.
css.selectors.optional 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.out-of-range 📋Chrome3/8/2011 Edge11/12/20151710
css.selectors.part 📋Chrome3/12/2019 Safari3/24/2020378
css.selectors.past 📋Chrome11/6/2012 Edge1/15/20202626
css.selectors.picture-in-picture 📋Safari3/24/2020 Edge2/9/20231052
css.selectors.placeholder 📋Chrome3/9/2017 Edge1/15/20201042
css.selectors.placeholder-shown 📋Safari9/30/2015 Edge1/15/20201568
css.selectors.placeholder-shown.non_text_types Safari9/30/2015 Edge1/15/20201568
css.selectors.popover-open 📋Chrome5/30/2023 Safari9/18/2023111
css.selectors.read-only 📋Chrome12/11/2008 Edge11/12/20152527
css.selectors.read-write 📋Chrome12/11/2008 Edge11/12/20152527
css.selectors.required 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.right 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.root 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.scope 📋Chrome5/21/2013 Edge1/15/20202430
Firefox: Firefox 55 removes support for <style scoped> but not for the :scope pseudo-class, which is still supported. <style scoped> made it possible to explicitly set up element scopes, but ongoing discussions about the design of this feature as well as lack of other implementations resulted in the decision to remove it.Firefox for Android: Firefox for Android 55 removes support for <style scoped> but not for the :scope pseudo-class, which is still supported. <style scoped> made it possible to explicitly set up element scopes, but ongoing discussions about the design of this feature as well as lack of other implementations resulted in the decision to remove it.
css.selectors.scope.dom_api Chrome5/21/2013 Edge1/15/20202430
css.selectors.selection 📋Safari10/24/2003 Edge7/29/20154296
css.selectors.slotted 📋Chrome4/13/2016 Edge1/15/20201372
css.selectors.spelling-error 📋Chrome1/23/2024 Safari3/5/202442
css.selectors.state 📋Safari3/5/2024 Edge5/17/202473
Chrome: Uses a dashed-ident (such as :--foo) instead of :state().Chrome Android: Uses a dashed-ident (such as :--foo) instead of :state().Edge: Uses a dashed-ident (such as :--foo) instead of :state().Quest Browser: Uses a dashed-ident (such as :--foo) instead of :state().Opera: Uses a dashed-ident (such as :--foo) instead of :state().Opera Android: Uses a dashed-ident (such as :--foo) instead of :state().Samsung Internet: Uses a dashed-ident (such as :--foo) instead of :state().WebView Android: Uses a dashed-ident (such as :--foo) instead of :state().
css.selectors.subsequent-sibling 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: Before Internet Explorer 10, the combinator only works in standards mode.
css.selectors.target 📋Safari4/15/2005 Edge7/29/20153757
css.selectors.target-text 📋Chrome3/2/2021 Safari12/11/20241380
css.selectors.type 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.type.namespaces Safari4/15/2005 Edge7/29/20153757
css.selectors.universal 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.universal.namespaces Safari4/15/2005 Edge7/29/20153757
css.selectors.user-invalid 📋Safari5/18/2023 Edge11/2/2023168
css.selectors.user-valid 📋Safari5/18/2023 Edge11/2/2023168
css.selectors.valid 📋Safari6/7/2010 Edge7/29/20151878
css.selectors.valid.form Chrome1/21/2015 Edge1/15/20201820
css.selectors.view-transition 📋Chrome1/10/2023 Safari9/16/2024615
css.selectors.view-transition-group 📋Chrome1/10/2023 Safari9/16/2024615
css.selectors.view-transition-image-pair 📋Chrome1/10/2023 Safari9/16/2024615
css.selectors.view-transition-new 📋Chrome1/10/2023 Safari9/16/2024615
css.selectors.view-transition-old 📋Chrome1/10/2023 Safari9/16/2024615
css.selectors.visited 📋Safari6/23/2003 Edge7/29/20154419
css.selectors.visited.not_match_link Chrome12/11/2008 Safari9/20/20214666
css.selectors.visited.privacy_measures Safari6/7/2010 Edge7/29/20151878
css.selectors.where 📋Safari9/16/2020 Edge1/21/2021127
css.selectors.where.forgiving_selector_list Safari9/16/2020 Edge1/21/2021127
css.types.acos 📋Safari3/14/2022 Edge3/13/2023364
css.types.angle 📋Chrome5/21/2009 Edge7/29/20152260
css.types.angle.deg Chrome5/21/2009 Edge7/29/20152260
css.types.angle.grad Chrome5/21/2009 Edge7/29/20152260
css.types.angle.rad Chrome5/21/2009 Edge7/29/20152260
css.types.angle.turn Chrome5/21/2009 Edge7/29/20152260
css.types.angle-percentage 📋Chrome5/21/2009 Edge7/29/20152260
css.types.asin 📋Safari3/14/2022 Edge3/13/2023364
css.types.atan 📋Safari3/14/2022 Edge3/13/2023364
css.types.atan2 📋Safari3/14/2022 Edge3/13/2023364
css.types.attr 📋Safari3/18/2008 Edge7/29/20152689
css.types.basic-shape 📋Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.animation Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.circle 📋Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.ellipse 📋Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.inset 📋Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.path 📋Chrome7/20/2016 Safari3/24/20201343
css.types.basic-shape.path.clip-path 📋Safari3/24/2020 Edge1/21/2021303
css.types.basic-shape.path.offset-path 📋Chrome1/25/2017 Safari9/12/20222056
css.types.basic-shape.polygon 📋Chrome8/26/2014 Edge1/15/20201968
css.types.basic-shape.rect 📋Chrome8/15/2023 Safari12/11/2023118
Chrome: Only supported on the offset-path property.Chrome Android: Only supported on the offset-path property.Edge: Only supported on the offset-path property.Opera: Only supported on the offset-path property.Opera Android: Only supported on the offset-path property.Samsung Internet: Only supported on the offset-path property.WebView Android: Only supported on the offset-path property.
css.types.basic-shape.xywh 📋Chrome8/15/2023 Safari12/11/2023118
Chrome: Only supported on the offset-path property.Chrome Android: Only supported on the offset-path property.Edge: Only supported on the offset-path property.Opera: Only supported on the offset-path property.Opera Android: Only supported on the offset-path property.Samsung Internet: Only supported on the offset-path property.WebView Android: Only supported on the offset-path property.
css.types.blend-mode 📋Chrome5/20/2014 Edge1/15/20202066
css.types.calc 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Before Firefox 59 calc() is not supported in rgb() and other color functions.Firefox: Before Firefox 57 calc(1*2*3) is not parsed successfully.Firefox: Firefox 57 increased the number of places calc() could substitute another value. See bug 1350857.Firefox for Android: Before Firefox for Android 59 calc() is not supported in rgb() and other color functions.Firefox for Android: Before Firefox for Android 57 calc(1*2*3) is not parsed successfully.Firefox for Android: Firefox for Android 57 increased the number of places calc() could substitute another value. See bug 1350857.
css.types.calc.color_component Safari3/27/2023 Edge11/2/2023220
css.types.calc.gradient_color_stops Chrome5/15/2012 Edge7/29/20151170
css.types.calc.nested Chrome5/25/2016 Edge10/17/2017510
css.types.calc.number_values Safari7/25/2012 Edge7/29/20151099
css.types.calc-keyword 📋Chrome3/1/2022 Safari3/14/202213
css.types.calc-keyword.NaN Chrome3/1/2022 Safari9/12/2022195
css.types.calc-keyword.e Safari3/14/2022 Edge2/9/2023332
css.types.calc-keyword.infinity Chrome3/1/2022 Safari9/12/2022195
css.types.calc-keyword.pi Safari3/14/2022 Edge1/12/2023304
css.types.clamp 📋Chrome12/10/2019 Safari3/24/2020105
css.types.color 📋Safari6/23/2003 Edge7/29/20154419
css.types.color.color 📋Safari9/20/2021 Edge3/13/2023539
Safari: Only supports display-p3 and srgb predefined color profiles.Safari on iOS: Only supports display-p3 and srgb predefined color profiles.WebView on iOS: Only supports display-p3 and srgb predefined color profiles.
css.types.color.color.mixed_type_parameters Safari9/20/2021 Edge3/13/2023539
css.types.color.color.relative_syntax 📋Chrome10/31/2023 Safari9/16/2024321
Safari: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified as percentages with units (%).Safari on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified as percentages with units (%).WebView on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified as percentages with units (%).
css.types.color.color-mix 📋Safari12/13/2022 Edge3/13/202390
css.types.color.currentcolor 📋Chrome12/11/2008 Edge7/29/20152421
css.types.color.hsl 📋Safari3/18/2008 Edge7/29/20152689
css.types.color.hsl.alpha_parameter Chrome3/6/2018 Edge1/15/2020680
css.types.color.hsl.mixed_type_parameters Chrome1/23/2024 Safari9/16/2024237
css.types.color.hsl.relative_syntax 📋Chrome5/14/2024 Safari9/16/2024125
Chrome: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Chrome Android: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Edge: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Opera: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Opera Android: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Safari: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for s and l).Safari on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for s and l).Samsung Internet: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).WebView Android: s and l channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require s and l values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).WebView on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for s and l).
css.types.color.hsl.space_separated_parameters Chrome3/6/2018 Edge1/15/2020680
css.types.color.hwb 📋Safari9/20/2021 Edge4/28/2022220
css.types.color.hwb.mixed_type_parameters Chrome1/23/2024 Safari9/16/2024237
css.types.color.hwb.relative_syntax 📋Chrome5/14/2024 Safari9/16/2024125
Chrome: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Chrome Android: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Edge: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Opera: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Opera Android: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).Safari: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for w and b).Safari on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for w and b).Samsung Internet: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).WebView Android: w and b channel values incorrectly resolve to numbers between 0-1 rather than 0-100. As a result, channel value calculations require w and b values to be specified as decimal percentage equivalents (e.g. 0.2 for 20%).WebView on iOS: Implementation based on older spec version. As a result, calculations with channel values do not work correctly, requiring values to be specified with units (deg for h, % for w and b).
css.types.color.lab 📋Safari9/20/2021 Edge3/13/2023539
css.types.color.lab.mixed_type_parameters Safari12/13/2022 Edge8/21/2023251
css.types.color.lab.relative_syntax 📋Safari3/27/2023 Edge11/2/2023220
css.types.color.lch 📋Safari9/20/2021 Edge3/13/2023539
css.types.color.lch.mixed_type_parameters Safari12/13/2022 Edge8/21/2023251
css.types.color.lch.relative_syntax 📋Chrome10/31/2023 Safari9/16/2024321
Safari: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).Safari on iOS: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).WebView on iOS: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).
css.types.color.light-dark 📋Chrome3/19/2024 Safari5/13/202455
css.types.color.named-color 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: Internet Explorer 8 and later support gray color keywords spelled with an e (grey, darkgrey, darkslategrey, dimgrey, lightgrey, and lightslategrey). Internet Explorer 3 to Internet Explorer 7 only support the keywords spelled with a (gray, darkgray, darkslategray, dimgray, lightgray, and lightslategray).
css.types.color.named-color.rebeccapurple Chrome10/7/2014 Safari9/30/2015358
css.types.color.named-color.transparent 📋Safari3/18/2008 Edge7/29/20152689
css.types.color.oklab 📋Safari3/14/2022 Edge3/13/2023364
css.types.color.oklab.mixed_type_parameters Safari12/13/2022 Edge8/21/2023251
css.types.color.oklab.relative_syntax 📋Safari3/27/2023 Edge11/2/2023220
css.types.color.oklch 📋Safari3/14/2022 Edge3/13/2023364
css.types.color.oklch.mixed_type_parameters Safari12/13/2022 Edge8/21/2023251
css.types.color.oklch.relative_syntax 📋Chrome10/31/2023 Safari9/16/2024321
Safari: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).Safari on iOS: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).WebView on iOS: Implementation based on older spec version. As a result, calculations with h channel values do not work correctly, requiring values to be specified with units (deg).
css.types.color.rgb 📋Safari6/23/2003 Edge7/29/20154419
css.types.color.rgb.alpha_parameter Chrome3/6/2018 Edge1/15/2020680
css.types.color.rgb.float_values Chrome4/17/2018 Edge1/15/2020638
css.types.color.rgb.mixed_type_parameters Chrome2/20/2024 Safari9/16/2024209
css.types.color.rgb.relative_syntax 📋Chrome2/20/2024 Safari9/16/2024209
Chrome: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.Chrome Android: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.Edge: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.Opera: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.Opera Android: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.Safari: Implementation based on older spec version. As a result, channel value calculations do not work correctly, requiring values to be specified as percentages with units (e.g. 30%, which would be equivalent to a 76.5 <number> value). See bug 267647.Safari on iOS: Implementation based on older spec version. As a result, channel value calculations do not work correctly, requiring values to be specified as percentages with units (e.g. 30%, which would be equivalent to a 76.5 <number> value). See bug 267647.Samsung Internet: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.WebView Android: Channel values incorrectly resolve to numbers between 0-1 rather than 0-255. As a result, channel value calculations require values to be specified as decimal percentage equivalents (e.g. 0.3 for 30%, which would be equivalent to a 76.5 <number> value). See bug 41490327.WebView on iOS: Implementation based on older spec version. As a result, channel value calculations do not work correctly, requiring values to be specified as percentages with units (e.g. 30%, which would be equivalent to a 76.5 <number> value). See bug 267647.
css.types.color.rgb.space_separated_parameters Chrome3/6/2018 Edge1/15/2020680
css.types.color.rgb_hexadecimal_notation 📋Safari6/23/2003 Edge7/29/20154419
css.types.color.rgb_hexadecimal_notation.alpha_hexadecimal_notation Safari9/20/2016 Edge1/15/20201212
css.types.color.system-color 📋Safari6/23/2003 Edge7/29/20154419
css.types.color.system-color.accentcolor_accentcolortext 📋Safari5/18/2023 Edge7/21/202364
Safari: Only supports a fallback: The native color when accent colour (in macOS' appearance panel) is set to 'multicolour'. On iOS falls back to the blue accent colourSafari on iOS: Only supports a fallback: The native color when accent colour (in macOS' appearance panel) is set to 'multicolour'. On iOS falls back to the blue accent colourWebView on iOS: Only supports a fallback: The native color when accent colour (in macOS' appearance panel) is set to 'multicolour'. On iOS falls back to the blue accent colour
css.types.cos 📋Safari3/14/2022 Edge3/13/2023364
css.types.counter 📋Safari10/26/2007 Edge7/29/20152833
css.types.counters 📋Safari10/26/2007 Edge7/29/20152833
css.types.dimension 📋Safari6/23/2003 Edge7/29/20154419
css.types.easing-function 📋Safari3/18/2008 Edge7/29/20152689
css.types.easing-function.cubic-bezier 📋Chrome12/13/2011 Edge7/29/20151324
css.types.easing-function.linear-function 📋Chrome5/2/2023 Safari12/11/2023223
css.types.easing-function.steps 📋Chrome12/2/2010 Edge7/29/20151700
css.types.easing-function.steps.jump Chrome9/10/2019 Safari9/16/2020372
css.types.exp 📋Safari3/14/2022 Edge12/7/2023633
css.types.filter-function 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.blur 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.brightness 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.contrast 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.drop-shadow 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.grayscale 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.hue-rotate 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.invert 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.opacity 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.saturate 📋Chrome3/28/2012 Edge7/29/20151218
css.types.filter-function.sepia 📋Chrome3/28/2012 Edge7/29/20151218
css.types.flex 📋Chrome8/20/2013 Safari3/27/20171315
css.types.global_keywords Safari6/23/2003 Edge7/29/20154419
css.types.global_keywords.inherit 📋Safari6/23/2003 Edge7/29/20154419
css.types.global_keywords.initial 📋Safari2/2/2004 Edge11/12/20154301
css.types.global_keywords.revert 📋Safari3/21/2016 Chrome7/27/20201589
css.types.global_keywords.revert-layer 📋Chrome3/1/2022 Safari3/14/202213
css.types.global_keywords.unset 📋Chrome3/3/2015 Safari3/21/2016384
css.types.gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Gradients are limited to background-image, border-image, and mask-image.Firefox for Android: Gradients are limited to background-image, border-image, and mask-image.
css.types.gradient.conic-gradient 📋Chrome9/4/2018 Edge1/15/2020498
css.types.gradient.conic-gradient.doubleposition Chrome1/29/2019 Edge1/15/2020351
css.types.gradient.conic-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.conic-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.linear-gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Firefox for Android: Since Firefox for Android 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox for Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Internet Explorer: Internet Explorer 5.5 through 9.0 supported gradients via a proprietary filter: -ms-filter: progid:DXImageTransform.Microsoft.Gradient().Opera: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Safari: Safari 4 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in linear-gradient(). This old outdated syntax is still supported for compatibility purposes.Safari: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Safari on iOS: Safari on iOS 3.2 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in linear-gradient(). This old outdated syntax is still supported for compatibility purposes.Safari on iOS: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.WebView on iOS: WebView on iOS 3.2 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in linear-gradient(). This old outdated syntax is still supported for compatibility purposes.WebView on iOS: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.
css.types.gradient.linear-gradient.doubleposition Chrome12/4/2018 Edge1/15/2020407
css.types.gradient.linear-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.linear-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.linear-gradient.interpolation_hints Safari10/22/2013 Edge1/15/20202276
css.types.gradient.linear-gradient.premultiplied_gradients Chrome8/20/2013 Safari9/20/20212953
css.types.gradient.linear-gradient.to Chrome3/26/2013 Edge7/29/2015855
css.types.gradient.linear-gradient.unitless_0_angle Chrome3/26/2013 Edge7/29/2015855
Firefox: Accepted only in -webkit-linear-gradient() and -moz-linear-gradient(), not linear-gradient().Firefox for Android: Accepted only in -webkit-linear-gradient() and -moz-linear-gradient(), not linear-gradient().
css.types.gradient.radial-gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox for Android: Since Firefox for Android 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Internet Explorer: Internet Explorer 5.5 through 9.0 supported gradients via a proprietary filter: -ms-filter: progid:DXImageTransform.Microsoft.Gradient().Safari: Safari 4 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.Safari on iOS: Safari on iOS 3.2 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.WebView on iOS: WebView on iOS 3.2 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.
css.types.gradient.radial-gradient.at Chrome3/26/2013 Edge7/29/2015855
css.types.gradient.radial-gradient.doubleposition Chrome12/4/2018 Edge1/15/2020407
css.types.gradient.radial-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.radial-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.radial-gradient.interpolation_hints Safari10/22/2013 Edge1/15/20202276
css.types.gradient.radial-gradient.premultiplied_gradients Chrome8/20/2013 Safari9/20/20212953
css.types.gradient.repeating-conic-gradient 📋Chrome9/4/2018 Edge1/15/2020498
css.types.gradient.repeating-conic-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-conic-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-linear-gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Before Firefox 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Firefox for Android: Before Firefox for Android 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox for Android: Since Firefox for Android 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox for Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Internet Explorer: Internet Explorer 5.5 through 9.0 supported gradients via a proprietary filter: -ms-filter: progid:DXImageTransform.Microsoft.Gradient().Opera: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Opera Android: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Safari: Safari 4 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in repeating-linear-gradient(). This old outdated syntax is still supported for compatibility purposes.Safari: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.Safari on iOS: Safari on iOS 3.2 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in repeating-linear-gradient(). This old outdated syntax is still supported for compatibility purposes.Safari on iOS: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.WebView on iOS: WebView on iOS 3.2 was supporting an experimental -webkit-gradient(linear,…) function. It is more limited than the later standard version: you cannot specify both a position and an angle like in repeating-linear-gradient(). This old outdated syntax is still supported for compatibility purposes.WebView on iOS: Considers <angle> to start to the right, instead of the top. I.e. it considered an angle of 0deg as a direction indicator pointing to the right.
css.types.gradient.repeating-linear-gradient.doubleposition Chrome12/4/2018 Edge1/15/2020407
css.types.gradient.repeating-linear-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-linear-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-linear-gradient.interpolation_hints Safari10/22/2013 Edge1/15/20202276
css.types.gradient.repeating-linear-gradient.to Chrome3/26/2013 Edge7/29/2015855
css.types.gradient.repeating-linear-gradient.unitless_0_angle Chrome3/26/2013 Edge7/29/2015855
Firefox: Accepted only in -webkit-repeating-linear-gradient() and -moz-repeating-linear-gradient(), not repeating-linear-gradient().Firefox for Android: Accepted only in -webkit-repeating-linear-gradient() and -moz-repeating-linear-gradient(), not repeating-linear-gradient().
css.types.gradient.repeating-radial-gradient 📋Chrome3/26/2013 Edge7/29/2015855
Firefox: Before Firefox 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox for Android: Before Firefox 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox for Android: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Safari: Safari 4 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.Safari on iOS: Safari on iOS 3.2 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.WebView on iOS: WebView on iOS 3.2 was supporting an experimental -webkit-gradient(radial,…) function. This old outdated syntax is still supported for compatibility purposes.
css.types.gradient.repeating-radial-gradient.at Chrome3/26/2013 Edge7/29/2015855
Firefox: Before Firefox 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox: Since Firefox 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.Firefox for Android: Before Firefox for Android 36, gradients weren't applied on the pre-multiplied color space, leading to shades of grey unexpectedly appearing when used with transparency.Firefox for Android: Since Firefox for Android 42, the prefixed version of gradients can be disabled by setting layout.css.prefixes.gradients to false.
css.types.gradient.repeating-radial-gradient.doubleposition Chrome12/4/2018 Edge1/15/2020407
css.types.gradient.repeating-radial-gradient.hue_interpolation_method Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-radial-gradient.interpolation_color_space Safari12/13/2022 Edge3/13/202390
css.types.gradient.repeating-radial-gradient.interpolation_hints Safari10/22/2013 Edge1/15/20202276
css.types.hypot 📋Safari3/14/2022 Edge12/7/2023633
css.types.image 📋Safari6/23/2003 Edge7/29/20154419
css.types.image.cross-fade 📋Chrome2/8/2012 Edge1/15/20202898
Chrome: Supports the original dual-image with percentage implementation only.Chrome: See bug 40470742 for supporting the unprefixed cross-fade() function.Chrome Android: Supports the original dual-image with percentage implementation only.Chrome Android: See bug 40470742 for supporting the unprefixed cross-fade() function.Edge: Supports the original dual-image with percentage implementation only.Edge: See bug 40470742 for supporting the unprefixed cross-fade() function.Quest Browser: Supports the original dual-image with percentage implementation only.Quest Browser: See bug 40470742 for supporting the unprefixed cross-fade() function.Opera: Supports the original dual-image with percentage implementation only.Opera: See bug 40470742 for supporting the unprefixed cross-fade() function.Opera Android: Supports the original dual-image with percentage implementation only.Opera Android: See bug 40470742 for supporting the unprefixed cross-fade() function.Safari: Supports the original dual-image with percentage implementation only.Safari: Supports the original dual-image with percentage implementation only.Safari on iOS: Support for the original dual-image with percentage implementation only.Safari on iOS: Supports the original dual-image with percentage implementation only.Samsung Internet: Supports the original dual-image with percentage implementation only.Samsung Internet: See bug 40470742 for supporting the unprefixed cross-fade() function.WebView Android: Supports the original dual-image with percentage implementation only.WebView Android: See bug 40470742 for supporting the unprefixed cross-fade() function.WebView on iOS: Support for the original dual-image with percentage implementation only.WebView on iOS: Supports the original dual-image with percentage implementation only.
css.types.image.image-set 📋Chrome5/2/2023 Safari9/18/2023139
Chrome: Support for url images only and x is the only supported resolution unit.Chrome Android: Support for url images only and x is the only supported resolution unit.Edge: Support for url images only and x is the only supported resolution unit.Firefox: The type() function is not supported as an argument to image-set().Firefox for Android: The type() function is not supported as an argument to image-set().Quest Browser: Support for url images only and x is the only supported resolution unit.Opera: Support for url images only and x is the only supported resolution unit.Opera Android: Support for url images only and x is the only supported resolution unit.Safari: The type() function is not supported as an argument to image-set().Safari: The type() function is not supported as an argument to image-set().Safari: Support for url images only and x is the only supported resolution unit.Safari: Support for url images only and x is the only supported resolution unit.Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: The type() function is not supported as an argument to image-set().Safari on iOS: Support for url images only and x is the only supported resolution unit.Safari on iOS: Support for url images only and x is the only supported resolution unit.Samsung Internet: Support for url images only and x is the only supported resolution unit.WebView Android: Support for url images only and x is the only supported resolution unit.WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: The type() function is not supported as an argument to image-set().WebView on iOS: Support for url images only and x is the only supported resolution unit.WebView on iOS: Support for url images only and x is the only supported resolution unit.
css.types.integer 📋Safari6/23/2003 Edge7/29/20154419
css.types.length 📋Safari6/23/2003 Edge7/29/20154419
css.types.length.Q Chrome12/6/2017 Safari3/24/2020839
css.types.length.cap Chrome10/10/2023 Safari12/11/202362
css.types.length.ch Chrome5/21/2013 Edge7/29/2015799
Firefox: From Firefox 1 to Firefox 3, ch was the width of the M character.Firefox: From Firefox 1 to Firefox 3, ch did not work with border-width and outline-width CSS properties.
css.types.length.container_query_length_units Edge9/1/2022 Safari9/12/202211
css.types.length.em Safari6/23/2003 Edge7/29/20154419
css.types.length.ex Safari6/23/2003 Edge7/29/20154419
css.types.length.ic Safari3/14/2022 Edge10/3/2022203
css.types.length.lh 📋Chrome1/10/2023 Safari3/27/202376
css.types.length.rcap 📋Chrome10/10/2023 Safari12/11/202362
css.types.length.rch 📋Chrome3/7/2023 Safari12/11/2023279
css.types.length.rem Chrome1/25/2010 Edge7/29/20152011
css.types.length.rex 📋Chrome3/7/2023 Safari12/11/2023279
css.types.length.ric 📋Chrome3/7/2023 Safari12/11/2023279
css.types.length.rlh 📋Chrome3/7/2023 Safari3/27/202320
css.types.length.vb Safari3/14/2022 Edge12/5/2022266
css.types.length.vh Chrome6/26/2012 Edge7/29/20151128
Firefox: Starting with version 21, viewport-percentage lengths are invalid in @page.Firefox for Android: Starting with version 21, viewport-percentage lengths are invalid in @page.
css.types.length.vi Safari3/14/2022 Edge12/5/2022266
css.types.length.viewport_percentage_units_dynamic Safari3/14/2022 Edge12/5/2022266
css.types.length.viewport_percentage_units_large Safari3/14/2022 Edge12/5/2022266
css.types.length.viewport_percentage_units_small Safari3/14/2022 Edge12/5/2022266
css.types.length.vmax Chrome3/26/2013 Edge10/17/20171666
Firefox: Starting with version 21, viewport-percentage lengths are invalid in @page.Firefox for Android: Starting with version 21, viewport-percentage lengths are invalid in @page.
css.types.length.vmin Chrome3/26/2013 Edge7/29/2015855
Firefox: Starting with version 21, viewport-percentage lengths are invalid in @page.Firefox for Android: Starting with version 21, viewport-percentage lengths are invalid in @page.
css.types.length.vw Chrome6/26/2012 Edge7/29/20151128
Firefox: Starting with version 21, viewport-percentage lengths are invalid in @page.Firefox for Android: Starting with version 21, viewport-percentage lengths are invalid in @page.
css.types.length-percentage 📋Safari6/23/2003 Edge7/29/20154419
css.types.line-style 📋Safari6/23/2003 Edge7/29/20154419
css.types.log 📋Safari3/14/2022 Edge12/7/2023633
css.types.max 📋Safari4/12/2018 Edge1/15/2020643
css.types.min 📋Safari4/12/2018 Edge1/15/2020643
css.types.mod 📋Safari3/14/2022 Edge5/17/2024795
css.types.number 📋Safari6/23/2003 Edge7/29/20154419
css.types.number.scientific_notation Chrome5/19/2015 Safari3/27/2017678
css.types.overflow 📋Safari6/23/2003 Edge7/29/20154419
Internet Explorer: From version 4 to 6, Internet Explorer enlarges an element with visible (default value) to fit the content inside it.
css.types.overflow.clip Chrome4/13/2021 Safari9/12/2022517
css.types.overflow.overlay Safari9/17/2018 Edge6/2/20231719
Chrome: Before version 114, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 114, the keyword aliases to the standard auto keyword. See bug 40444262.Chrome Android: Before version 114, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 114, the keyword aliases to the standard auto keyword. See bug 40444262.Edge: Before version 114, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 114, the keyword aliases to the standard auto keyword. See bug 40444262.Quest Browser: Before version false, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version false, the keyword aliases to the standard auto keyword. See bug 40444262.Opera: Before version 100, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 100, the keyword aliases to the standard auto keyword. See bug 40444262.Safari: Before version 12, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 12, the keyword aliases to the standard auto keyword. See bug 189811.Safari on iOS: Before version 12, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 12, the keyword aliases to the standard auto keyword. See bug 189811.WebView Android: Before version 114, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 114, the keyword aliases to the standard auto keyword. See bug 40444262.WebView on iOS: Before version 12, the overlay keyword caused non-standard behavior, allowing scrollbars to overlay content without taking up layout space. From version 12, the keyword aliases to the standard auto keyword. See bug 189811.
css.types.percentage 📋Safari6/23/2003 Edge7/29/20154419
css.types.position 📋Safari6/23/2003 Edge7/29/20154419
css.types.position.four_value_syntax Chrome2/21/2013 Edge7/29/2015888
css.types.position.keyword_value_syntax Safari6/23/2003 Edge7/29/20154419
css.types.pow 📋Safari3/14/2022 Edge12/7/2023633
css.types.ratio 📋Chrome9/15/2009 Edge7/29/20152143
css.types.ray 📋Safari9/12/2022 Edge8/21/2023343
css.types.ray.position Chrome8/15/2023 Safari12/11/2023118
css.types.ray.size Chrome8/15/2023 Safari9/18/202334
css.types.rem 📋Safari3/14/2022 Edge5/17/2024795
css.types.resolution 📋Chrome8/20/2013 Safari9/12/20223310
Firefox: Supports <integer> values only.Firefox for Android: Supports <integer> values only.
css.types.resolution.dpcm Chrome8/20/2013 Safari9/12/20223310
css.types.resolution.dpi Chrome8/20/2013 Safari9/12/20223310
css.types.resolution.dppx Chrome8/20/2013 Safari9/12/20223310
css.types.resolution.x Chrome7/24/2018 Safari9/12/20221511
css.types.round 📋Safari3/14/2022 Edge5/17/2024795
css.types.shape 📋Safari4/15/2005 Edge7/29/20153757
css.types.shape.rect Safari4/15/2005 Edge7/29/20153757
Internet Explorer: For Internet Explorer versions 5.5 through 7, the rect() function uses spaces (instead of commas) to separate parameters. For Internet Explorer 8 and later versions, only the standard comma-separated syntax is supported.
css.types.sin 📋Safari3/14/2022 Edge3/13/2023364
css.types.sqrt 📋Safari3/14/2022 Edge12/7/2023633
css.types.string 📋Safari6/23/2003 Edge7/29/20154419
css.types.string.unicode_escaped_characters Safari6/23/2003 Edge7/29/20154419
css.types.tan 📋Safari3/14/2022 Edge3/13/2023364
css.types.text-edge 📋Safari12/11/2024 Edge2/6/202557
css.types.text-edge.alphabetic 📋Safari12/11/2024 Edge2/6/202557
css.types.text-edge.cap 📋Safari12/11/2024 Edge2/6/202557
css.types.text-edge.ex 📋Safari12/11/2024 Edge2/6/202557
css.types.text-edge.text 📋Safari12/11/2024 Edge2/6/202557
css.types.time 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function 📋Safari3/18/2008 Edge7/29/20152689
Internet Explorer: Internet Explorer 9 supports 2D but not 3D transforms. In version 9, mixing 2D and 3D transform functions invalidates the entire property.
css.types.transform-function.matrix 📋Safari3/18/2008 Edge7/29/20152689
Firefox: Before Firefox 16, the translation values of matrix() could be <length>s, in addition to the standard <number>.
css.types.transform-function.matrix3d 📋Safari6/8/2009 Edge7/29/20152242
Firefox: Before Firefox 16, the translation values of matrix3d() could be <length>s, in addition to the standard <number>.
css.types.transform-function.perspective 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.perspective.none 📋Chrome1/4/2022 Safari3/14/202269
css.types.transform-function.rotate 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.rotate3d 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.rotateX 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.rotateY 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.rotateZ 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.scale 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.scale3d 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.scaleX 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.scaleY 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.scaleZ 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.skew 📋Safari3/18/2008 Edge7/29/20152689
Firefox: Firefox 14 removed experimental support for skew(), but it was reintroduced in Firefox 15.
css.types.transform-function.skewX 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.skewY 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.translate 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.translate3d 📋Safari6/8/2009 Edge7/29/20152242
css.types.transform-function.translateX 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.translateY 📋Safari3/18/2008 Edge7/29/20152689
css.types.transform-function.translateZ 📋Safari6/8/2009 Edge7/29/20152242
css.types.url 📋Safari6/23/2003 Edge7/29/20154419

HTML Data

API First Browser Date Last Browser Date Days Notes
html.elements.a 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Starting with Firefox 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).Firefox for Android: Starting with Firefox for Android 41, <a> without href attribute is no longer classified as interactive content: clicking it inside <label> will activate labelled content (bug 1167816).
html.elements.a.charset 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.coords 📋Safari6/23/2003 Edge1/15/20206050
Firefox: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.Firefox for Android: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
html.elements.a.download 📋Chrome9/16/2011 Edge10/2/20182573
Chrome: Starting in Chrome 65, cross-origin downloads are not supported on the <a> element.Chrome Android: Starting in Chrome Android 65, cross-origin downloads are not supported on the <a> element.Edge: Starting in Edge 79, cross-origin downloads are not supported on the <a> element.Edge: Until Edge 14 (build 14357), attempting to download data URIs caused Edge to crash (bug 7160092).Edge: Edge 17 or older didn't follow the attributes' value to determine filename (bug 7260192).Firefox for Android: The attribute's filename value only affects the suggested file name for the blob: and data: URI schemes. Other schemes ignore the suggested filename. See bug 1845642.Quest Browser: Starting in Quest Browser 5.0, cross-origin downloads are not supported on the <a> element.Opera: Starting in Opera 52, cross-origin downloads are not supported on the <a> element.Opera Android: Starting in Opera Android 47, cross-origin downloads are not supported on the <a> element.Samsung Internet: Starting in Samsung Internet 9.0, cross-origin downloads are not supported on the <a> element.WebView Android: Starting in WebView Android 65, cross-origin downloads are not supported on the <a> element.
html.elements.a.href 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.href.href_top Chrome12/11/2008 Edge7/29/20152421
html.elements.a.hreflang 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.implicit_noopener Safari3/25/2019 Edge1/21/2021668
html.elements.a.name 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.ping 📋Chrome6/7/2011 Edge4/30/20182519
Firefox: This property is exposed but has no effect if the browser.send_pings preference is not set to true. See bug 951104.Firefox for Android: This property is exposed but has no effect if the browser.send_pings preference is not set to true. See bug 951104.
html.elements.a.referrerpolicy 📋Chrome5/25/2016 Safari9/16/20201575
html.elements.a.rel 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.rel.noopener 📋Chrome3/2/2016 Edge1/15/20201414
Firefox: Before Firefox 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox 63, these windows have the same features enabled by default as any other window.Firefox for Android: Before Firefox for Android 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox for Android 63, these windows have the same features enabled by default as any other window.
html.elements.a.rel.noreferrer 📋Safari6/7/2010 Edge11/12/20151984
Internet Explorer: Only supported in IE11 in later versions of Windows 10 (creators update). (Per caniuse.com.)
html.elements.a.rev 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.shape 📋Safari6/23/2003 Edge1/15/20206050
Firefox: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.Firefox for Android: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
html.elements.a.target 📋Safari6/23/2003 Edge7/29/20154419
html.elements.a.text_fragments Chrome2/4/2020 Safari10/24/2022993
html.elements.a.type 📋Safari6/23/2003 Edge7/29/20154419
html.elements.abbr 📋Chrome5/21/2009 Edge7/29/20152260
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.acronym 📋Safari6/23/2003 Edge7/29/20154419
html.elements.address 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.alt 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.coords 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.download 📋Edge7/29/2015 Safari3/27/2017607
html.elements.area.href 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.implicit_noopener Safari3/25/2019 Edge1/21/2021668
html.elements.area.nohref 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.ping 📋Chrome6/7/2011 Edge4/30/20182519
Firefox: This property is exposed but has no effect if the browser.send_pings preference is not set to true. See bug 951104.Firefox for Android: This property is exposed but has no effect if the browser.send_pings preference is not set to true. See bug 951104.
html.elements.area.referrerpolicy 📋Chrome5/25/2016 Safari9/16/20201575
html.elements.area.rel 📋Safari6/7/2010 Edge7/29/20151878
html.elements.area.rel.noopener 📋Chrome3/2/2016 Edge1/15/20201414
Firefox: Before Firefox 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox 63, these windows have the same features enabled by default as any other window.Firefox for Android: Before Firefox for Android 63, rel="noopener" created windows with all features disabled by default. Starting with Firefox for Android 63, these windows have the same features enabled by default as any other window.
html.elements.area.rel.noreferrer 📋Safari6/7/2010 Edge11/12/20151984
Internet Explorer: Only supported in IE11 in later versions of Windows 10 (creators update). (Per caniuse.com.)
html.elements.area.shape 📋Safari6/23/2003 Edge7/29/20154419
html.elements.area.target 📋Safari6/23/2003 Edge7/29/20154419
html.elements.article 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.aside 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.audio 📋Safari3/18/2008 Edge7/29/20152689
Firefox: For Firefox to play audio, the server must serve the file using the correct MIME type.Firefox for Android: For Firefox for Android to play audio, the server must serve the file using the correct MIME type.
html.elements.audio.controls 📋Safari3/18/2008 Edge7/29/20152689
html.elements.audio.crossorigin 📋Chrome2/20/2014 Edge10/2/20181685
Firefox: With crossorigin="use-credentials", cookies aren't sent during seek. See bug 1532722.Firefox for Android: With crossorigin="use-credentials", cookies aren't sent during seek. See bug 1532722.
html.elements.audio.disableremoteplayback 📋Safari3/24/2020 Edge1/25/20241402
html.elements.audio.loop 📋Safari3/18/2008 Edge7/29/20152689
html.elements.audio.muted 📋Chrome10/25/2011 Edge10/2/20182534
html.elements.audio.preload 📋Safari3/18/2008 Edge7/29/20152689
Chrome: Defaults to metadata in Chrome 64.Chrome Android: Defaults to metadata in Chrome Android 64.Quest Browser: Defaults to metadata in Quest Browser 5.0.Opera: Defaults to metadata in Opera 51.Opera Android: Defaults to metadata in Opera 51.Samsung Internet: Defaults to metadata in Samsung Internet 9.0.WebView Android: Defaults to metadata in Chrome 64.
html.elements.audio.src 📋Safari3/18/2008 Edge7/29/20152689
html.elements.b 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.base 📋Safari10/26/2007 Edge7/29/20152833
Internet Explorer: Before Internet Explorer 7, <base> can be positioned anywhere in the document and the nearest value of <base> is used.
html.elements.base.href 📋Safari10/26/2007 Edge7/29/20152833
html.elements.base.href.forbid_data_javascript_urls Chrome4/19/2017 Safari3/24/20201070
html.elements.base.href.relative_url Safari10/26/2007 Edge7/29/20152833
html.elements.base.target 📋Safari10/26/2007 Edge7/29/20152833
html.elements.bdi 📋Chrome12/13/2011 Edge1/15/20202955
html.elements.bdo 📋Safari6/8/2009 Edge7/29/20152242
html.elements.big 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.blockquote 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.blockquote.cite Chrome12/11/2008 Edge7/29/20152421
html.elements.body 📋Safari6/23/2003 Edge7/29/20154419
html.elements.body.alink Chrome12/11/2008 Edge7/29/20152421
html.elements.body.background Chrome12/11/2008 Edge7/29/20152421
html.elements.body.bgcolor Chrome12/11/2008 Edge7/29/20152421
html.elements.body.bottommargin Chrome12/11/2008 Edge1/15/20204052
Firefox: Before Firefox 35, it was supported in Quirks Mode only.Firefox for Android: Before Firefox for Android 35, it was supported in Quirks Mode only.
html.elements.body.leftmargin Chrome12/11/2008 Edge1/15/20204052
Firefox: Before Firefox 35, it was supported in Quirks Mode only.Firefox for Android: Before Firefox for Android 35, it was supported in Quirks Mode only.
html.elements.body.link Chrome12/11/2008 Edge7/29/20152421
html.elements.body.rightmargin Chrome12/11/2008 Edge1/15/20204052
Firefox: Before Firefox 35, it was supported in Quirks Mode only.Firefox for Android: Before Firefox for Android 35, it was supported in Quirks Mode only.
html.elements.body.text Chrome12/11/2008 Edge7/29/20152421
html.elements.body.topmargin Chrome12/11/2008 Edge1/15/20204052
Firefox: Before Firefox 35, it was supported in Quirks Mode only.Firefox for Android: Before Firefox for Android 35, it was supported in Quirks Mode only.
html.elements.body.vlink Chrome12/11/2008 Edge7/29/20152421
html.elements.br 📋Safari6/23/2003 Edge7/29/20154419
html.elements.br.clear Chrome12/11/2008 Edge7/29/20152421
html.elements.button 📋Safari6/23/2003 Edge7/29/20154419
html.elements.button.disabled 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.button.form Chrome2/3/2011 Edge10/17/20172448
html.elements.button.formaction Chrome2/3/2011 Edge7/29/20151637
html.elements.button.formenctype Chrome2/3/2011 Edge7/29/20151637
html.elements.button.formmethod Chrome2/3/2011 Edge7/29/20151637
html.elements.button.formnovalidate Chrome2/3/2011 Edge7/29/20151637
html.elements.button.formtarget Chrome2/3/2011 Edge7/29/20151637
html.elements.button.name Chrome12/11/2008 Edge7/29/20152421
html.elements.button.popovertarget 📋Chrome5/30/2023 Safari9/18/2023111
html.elements.button.popovertargetaction 📋Chrome5/30/2023 Safari9/18/2023111
html.elements.button.type Chrome12/11/2008 Edge7/29/20152421
html.elements.button.value Chrome12/11/2008 Edge7/29/20152421
html.elements.canvas 📋Safari4/29/2005 Edge7/29/20153743
Firefox: Before Firefox 5, the canvas width and height were signed integers instead of unsigned integers.Firefox: Before Firefox 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox: Before Firefox 12, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Firefox for Android: Before Firefox for Android 5, the canvas width and height were signed integers instead of unsigned integers.Firefox for Android: Before Firefox for Android 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox for Android: Before Firefox for Android 14, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Safari: Although early versions of Apple's Safari browser don't require the closing tag, the specification indicates that it is required, so you should be sure to include it for broadest compatibility. Before version 2, Safari will render the content of the fallback in addition to the canvas itself unless you use CSS tricks to mask it.
html.elements.canvas.height 📋Safari4/29/2005 Edge7/29/20153743
Firefox: Before Firefox 5, the canvas width and height were signed integers instead of unsigned integers.Firefox: Before Firefox 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox: Before Firefox 12, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Firefox for Android: Before Firefox for Android 5, the canvas width and height were signed integers instead of unsigned integers.Firefox for Android: Before Firefox for Android 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox for Android: Before Firefox for Android 14, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Safari: Although early versions of Apple's Safari browser don't require the closing tag, the specification indicates that it is required, so you should be sure to include it for broadest compatibility. Before version 2, Safari will render the content of the fallback in addition to the canvas itself unless you use CSS tricks to mask it.
html.elements.canvas.width 📋Safari4/29/2005 Edge7/29/20153743
Firefox: Before Firefox 5, the canvas width and height were signed integers instead of unsigned integers.Firefox: Before Firefox 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox: Before Firefox 12, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Firefox for Android: Before Firefox for Android 5, the canvas width and height were signed integers instead of unsigned integers.Firefox for Android: Before Firefox for Android 6, a <canvas> element with a zero width or height would be rendered as if it had default dimensions.Firefox for Android: Before Firefox for Android 14, if JavaScript is disabled, the <canvas> element was being rendered instead of showing the fallback content as per the specification. Since then, the fallback content is rendered instead.Safari: Although early versions of Apple's Safari browser don't require the closing tag, the specification indicates that it is required, so you should be sure to include it for broadest compatibility. Before version 2, Safari will render the content of the fallback in addition to the canvas itself unless you use CSS tricks to mask it.
html.elements.caption 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.caption.align Chrome12/11/2008 Edge7/29/20152421
html.elements.center 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.Firefox for Android: Before Firefox for Android 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.cite 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.code 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.col 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.col.align 📋Safari10/26/2007 Edge7/29/20152833
html.elements.col.char 📋Safari10/26/2007 Edge7/29/20152833
html.elements.col.charoff 📋Safari10/26/2007 Edge7/29/20152833
html.elements.col.span 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.col.valign 📋Safari10/26/2007 Edge7/29/20152833
html.elements.col.width 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.colgroup 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.colgroup.align 📋Safari10/26/2007 Edge7/29/20152833
html.elements.colgroup.char 📋Safari10/26/2007 Edge7/29/20152833
html.elements.colgroup.charoff 📋Safari10/26/2007 Edge7/29/20152833
html.elements.colgroup.span 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.colgroup.valign 📋Safari10/26/2007 Edge7/29/20152833
html.elements.colgroup.width 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.data 📋Edge8/2/2016 Chrome10/17/2017441
html.elements.data.value 📋Edge8/2/2016 Chrome10/17/2017441
html.elements.datalist 📋Chrome6/26/2012 Safari3/25/20192463
Firefox: The date and time input types are not supported.Firefox: The <datalist> element will only create a dropdown for textual types, such as text, search, url, tel, email and number. The date, time, range and color types are not supported.Firefox for Android: The dropdown menu containing available options does not appear. See bug 1535985.
html.elements.dd 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element was implemented using the HTMLSpanElement interface instead of HTMLElement.
html.elements.del 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.del.cite Safari10/26/2007 Edge7/29/20152833
html.elements.del.datetime Safari10/26/2007 Edge7/29/20152833
html.elements.details 📋Chrome6/7/2011 Edge1/15/20203144
Firefox: Before Firefox 57, there was a bug meaning that <details> elements can't be made open by default using the open attribute if they have a CSS animation active on them.Firefox for Android: There is a bug meaning that <details> elements can't be made open by default using the open attribute if they have a CSS animation active on them.
html.elements.details.name Chrome12/5/2023 Safari12/11/20236
html.elements.details.open Chrome6/7/2011 Edge1/15/20203144
html.elements.dfn 📋Chrome10/25/2011 Edge7/29/20151373
html.elements.dialog 📋Chrome8/26/2014 Safari3/14/20222757
html.elements.dialog.open Chrome8/26/2014 Safari3/14/20222757
html.elements.dir 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.dir.compact Chrome12/11/2008 Edge7/29/20152421
html.elements.div 📋Safari6/23/2003 Edge7/29/20154419
html.elements.div.align Safari10/26/2007 Edge7/29/20152833
html.elements.dl 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.dt 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.em 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.embed 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.embed.align 📋Chrome12/11/2008 Edge1/15/20204052
html.elements.embed.height 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.embed.name 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.embed.src 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.embed.type 📋Chrome12/11/2008 Edge1/15/20204052
html.elements.embed.width 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.fieldset 📋Chrome12/11/2008 Edge7/29/20152421
Chrome: Before version 86, this element did not support flexbox and grid layouts within this element. See bug 41027853.Chrome Android: Before version 86, this element did not support flexbox and grid layouts within this element. See bug 41027853.Edge: Before version 86, this element did not support flexbox and grid layouts within this element. See bug 4511145.Quest Browser: Before version 12.0, this element did not support flexbox and grid layouts within this element. See bug 41027853.Samsung Internet: Before version 14.0, this element did not support flexbox and grid layouts within this element. See bug 41027853.WebView Android: Before version 86, this element did not support flexbox and grid layouts within this element. See bug 41027853.
html.elements.fieldset.disabled 📋Chrome6/26/2012 Edge1/15/20202759
Edge: Does not work with nested fieldsets. For example: <fieldset disabled><fieldset><!--Still enabled--></fieldset></fieldset>Internet Explorer: Not all form control descendants of a disabled fieldset are properly disabled in IE11; see IE bug 817488: input[type='file'] not disabled inside disabled fieldset and IE bug 962368: Can still edit input[type='text'] within fieldset[disabled].
html.elements.fieldset.form 📋Safari10/26/2007 Edge7/29/20152833
html.elements.fieldset.name 📋Chrome5/15/2012 Edge7/29/20151170
html.elements.figcaption 📋Chrome12/2/2010 Edge7/29/20151700
html.elements.figure 📋Chrome12/2/2010 Edge7/29/20151700
html.elements.font 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.font.color Chrome12/11/2008 Edge7/29/20152421
html.elements.font.face Chrome12/11/2008 Edge7/29/20152421
html.elements.font.size Chrome12/11/2008 Edge7/29/20152421
html.elements.footer 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.form 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.accept-charset 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.action 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.autocomplete 📋Chrome9/16/2011 Edge7/29/20151412
Chrome: The Google Chrome UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Chrome might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.Chrome Android: The Chrome Android UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Chrome Android might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.Quest Browser: The Quest Browser UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Quest Browser might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.Opera: The Opera UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Opera might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.Opera Android: The Opera Android UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Opera Android might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.Samsung Internet: The Samsung Internet UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, Samsung Internet might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.WebView Android: The WebView Android UI for auto-complete request varies, depending on whether autocomplete is set to off on <input> elements as well as their form. Specifically, when a form has autocomplete set to off and its <input> element's autocomplete attribute is not set, then if the user asks for autofill suggestions for the <input> element, WebView Android might display a message saying 'autocomplete has been disabled for this form.' On the other hand, if both the form and the input element have autocomplete set to off, the browser will not display that message. For this reason, you should set autocomplete to off for each <input> that has custom auto-completion.
html.elements.form.autocomplete.one-time-code Safari9/17/2018 Edge9/2/20211081
html.elements.form.enctype 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.method 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.name 📋Safari10/26/2007 Edge7/29/20152833
html.elements.form.novalidate 📋Chrome3/8/2011 Safari3/27/20172211
html.elements.form.rel 📋Safari3/14/2022 Edge12/5/2022266
html.elements.form.target 📋Safari10/26/2007 Edge7/29/20152833
html.elements.frame 📋Safari10/26/2007 Edge7/29/20152833
html.elements.frame.frameborder Safari10/26/2007 Edge7/29/20152833
html.elements.frame.marginheight Safari10/26/2007 Edge7/29/20152833
html.elements.frame.marginwidth Safari10/26/2007 Edge7/29/20152833
html.elements.frame.name Safari10/26/2007 Edge7/29/20152833
html.elements.frame.noresize Safari10/26/2007 Edge7/29/20152833
html.elements.frame.scrolling Safari10/26/2007 Edge7/29/20152833
html.elements.frame.src Safari10/26/2007 Edge7/29/20152833
html.elements.frameset 📋Safari10/26/2007 Edge7/29/20152833
html.elements.frameset.cols Safari10/26/2007 Edge7/29/20152833
html.elements.frameset.rows Safari10/26/2007 Edge7/29/20152833
html.elements.h1 📋Safari6/23/2003 Edge7/29/20154419
html.elements.h2 📋Safari6/23/2003 Edge7/29/20154419
html.elements.h3 📋Safari6/23/2003 Edge7/29/20154419
html.elements.h4 📋Safari6/23/2003 Edge7/29/20154419
html.elements.h5 📋Safari6/23/2003 Edge7/29/20154419
html.elements.h6 📋Safari6/23/2003 Edge7/29/20154419
html.elements.head 📋Safari6/23/2003 Edge7/29/20154419
html.elements.header 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.hgroup 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.hr 📋Safari10/26/2007 Edge7/29/20152833
html.elements.hr.align Chrome12/11/2008 Edge7/29/20152421
html.elements.hr.color Chrome2/20/2014 Safari3/27/20171131
html.elements.hr.hr_in_select Safari9/18/2023 Edge11/2/202345
Chrome: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Chrome: Does not expose the <hr> within the accessibility tree.Edge: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Edge: Does not expose the <hr> within the accessibility tree.Firefox: Does not expose the <hr> within the accessibility tree.Firefox for Android: Does not expose the <hr> within the accessibility tree.Opera: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Opera: Does not expose the <hr> within the accessibility tree.Safari: Does not expose the <hr> within the accessibility tree.Safari on iOS: Does not expose the <hr> within the accessibility tree.WebView on iOS: Does not expose the <hr> within the accessibility tree.
html.elements.hr.noshade Chrome12/11/2008 Edge7/29/20152421
html.elements.hr.size Chrome12/11/2008 Edge7/29/20152421
html.elements.hr.width Chrome12/11/2008 Edge7/29/20152421
html.elements.html 📋Safari6/23/2003 Edge7/29/20154419
html.elements.html.version 📋Safari6/23/2003 Edge7/29/20154419
html.elements.html.xmlns Safari6/23/2003 Edge7/29/20154419
html.elements.i 📋Safari6/23/2003 Edge7/29/20154419
html.elements.iframe 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: The resize CSS property doesn't have any effect on this element due to bug 680823.Firefox for Android: The resize CSS property doesn't have any effect on this element due to bug 680823.Safari: Safari has a bug that prevents iframes from loading if the iframe element was hidden when added to the page. iframeElement.src = iframeElement.src should cause it to load the iframe.Safari on iOS: Safari on iOS has a bug that prevents iframes from loading if the iframe element was hidden when added to the page. iframeElement.src = iframeElement.src should cause it to load the iframe.WebView on iOS: WebView on iOS has a bug that prevents iframes from loading if the iframe element was hidden when added to the page. iframeElement.src = iframeElement.src should cause it to load the iframe.
html.elements.iframe.align 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.allow 📋Chrome7/25/2017 Edge1/15/2020904
html.elements.iframe.allow.camera 📋Chrome1/23/2018 Edge1/15/2020722
html.elements.iframe.allow.display-capture 📋Safari9/19/2019 Edge9/24/2021736
html.elements.iframe.allow.microphone 📋Chrome1/23/2018 Edge1/15/2020722
html.elements.iframe.allow.screen-wake-lock 📋Edge7/16/2020 Safari3/27/2023984
html.elements.iframe.allowfullscreen 📋Chrome10/7/2014 Safari3/27/2017902
Safari on iOS: Only available on iPad, not on iPhone.Safari on iOS: Shows an overlay button which can not be disabled. Swiping down exits fullscreen mode, making it unsuitable for some use cases like games.WebView on iOS: Only available on iPad, not on iPhone.WebView on iOS: Shows an overlay button which can not be disabled. Swiping down exits fullscreen mode, making it unsuitable for some use cases like games.
html.elements.iframe.frameborder 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.height 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.loading 📋Chrome9/10/2019 Safari3/27/20231294
html.elements.iframe.longdesc 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.marginheight 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.marginwidth 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.name 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.referrerpolicy 📋Chrome5/25/2016 Safari9/16/20201575
html.elements.iframe.sandbox 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.iframe.sandbox.allow-downloads 📋Chrome5/19/2020 Safari9/18/20231217
html.elements.iframe.sandbox.allow-forms 📋Chrome5/25/2010 Edge1/15/20203522
html.elements.iframe.sandbox.allow-modals 📋Chrome10/13/2015 Edge1/15/20201555
html.elements.iframe.sandbox.allow-pointer-lock 📋Chrome11/6/2012 Edge1/15/20202626
html.elements.iframe.sandbox.allow-popups 📋Chrome2/8/2012 Edge7/29/20151267
html.elements.iframe.sandbox.allow-popups-to-escape-sandbox 📋Chrome10/13/2015 Edge1/15/20201555
html.elements.iframe.sandbox.allow-same-origin 📋Chrome5/25/2010 Edge1/15/20203522
Chrome: Chrome 70 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Chrome Android: Chrome Android 70 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Edge: Edge 79 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Quest Browser: Quest Browser 6.0 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Opera: Opera 57 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Opera Android: Opera Android 49 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Safari: Safari blocks script execution without allow-scripts even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Safari on iOS: Safari blocks script execution without allow-scripts even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.Samsung Internet: Samsung Internet 10.0 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.WebView Android: WebView Android 70 and earlier block script execution without allow-scripts, even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.WebView on iOS: Safari blocks script execution without allow-scripts even if allow-same-origin is set. For example, any bound handlers for click events of nodes inside an iframe throw an error for blocked script execution.
html.elements.iframe.sandbox.allow-scripts 📋Chrome5/25/2010 Edge1/15/20203522
html.elements.iframe.sandbox.allow-storage-access-by-user-activation Safari4/12/2018 Edge5/5/20231849
html.elements.iframe.sandbox.allow-top-navigation 📋Safari6/7/2010 Edge1/15/20203509
html.elements.iframe.sandbox.allow-top-navigation-by-user-activation 📋Chrome4/19/2017 Edge1/15/20201001
html.elements.iframe.scrolling 📋Safari10/26/2007 Edge7/29/20152833
html.elements.iframe.src 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.iframe.srcdoc 📋Chrome6/26/2012 Edge1/15/20202759
html.elements.iframe.width 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img 📋Safari6/23/2003 Edge7/29/20154419
html.elements.img.align 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.alt 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.aspect_ratio_computed_from_attributes Chrome12/10/2019 Safari9/20/2021650
Safari: Safari doesn't preserve space for images without a valid src, which may disrupt layouts that rely on lazy loading (see bug 224197).Safari on iOS: Safari on iOS doesn't preserve space for images without a valid src, which may disrupt layouts that rely on lazy loading (see bug 224197).WebView on iOS: WebView on iOS doesn't preserve space for images without a valid src, which may disrupt layouts that rely on lazy loading (see bug 224197).
html.elements.img.border 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.crossorigin 📋Chrome8/2/2011 Edge7/29/20151457
html.elements.img.decoding 📋Chrome3/6/2018 Edge1/15/2020680
html.elements.img.fetchpriority 📋Chrome4/26/2022 Safari12/11/2023594
html.elements.img.height 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.hspace 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.ismap 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.loading 📋Chrome9/10/2019 Safari3/14/2022916
html.elements.img.longdesc 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.name 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.referrerpolicy 📋Chrome5/25/2016 Safari9/16/20201575
html.elements.img.sizes 📋Chrome10/7/2014 Safari3/21/2016531
html.elements.img.src 📋Safari6/23/2003 Edge7/29/20154419
html.elements.img.srcset 📋Chrome4/8/2014 Edge7/29/2015477
html.elements.img.usemap 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.usemap.case_sensitive Chrome4/19/2017 Edge1/15/20201001
html.elements.img.vspace 📋Safari10/26/2007 Edge7/29/20152833
html.elements.img.width 📋Safari10/26/2007 Edge7/29/20152833
html.elements.input 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 89, manipulating the content of <input> elements using Document.execCommand() commands requires workarounds (see bug 1220696).Firefox for Android: Before Firefox for Android 89, manipulating the content of <input> elements using Document.execCommand() commands requires workarounds (see bug 1220696).
html.elements.input.accept 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.align 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.alt 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.autocomplete 📋Chrome9/16/2011 Edge7/29/20151412
html.elements.input.checked 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.dirname 📋Chrome2/8/2012 Edge1/15/20202898
html.elements.input.disabled 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.form 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.formaction 📋Safari6/7/2010 Edge7/29/20151878
html.elements.input.formenctype 📋Safari6/7/2010 Edge7/29/20151878
html.elements.input.formmethod 📋Safari6/7/2010 Edge7/29/20151878
html.elements.input.formnovalidate 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.input.formtarget 📋Safari6/7/2010 Edge7/29/20151878
html.elements.input.list 📋Chrome6/26/2012 Safari3/25/20192463
html.elements.input.max 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.input.maxlength 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.min 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.input.minlength 📋Chrome1/21/2015 Edge4/30/20181195
html.elements.input.multiple 📋Chrome5/21/2009 Edge7/29/20152260
html.elements.input.name 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.pattern 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.input.placeholder 📋Safari6/8/2009 Edge7/29/20152242
html.elements.input.popovertarget 📋Chrome5/30/2023 Safari9/18/2023111
html.elements.input.popovertargetaction 📋Chrome5/30/2023 Safari9/18/2023111
html.elements.input.readonly 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.required 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.input.size 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.src 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.step 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.input.type_button 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_checkbox 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_color 📋Chrome6/26/2012 Safari3/25/20192463
Firefox for Android: Firefox for Android doesn't allow the user to choose a custom color, only one of the predefined ones.
html.elements.input.type_date 📋Chrome6/26/2012 Safari4/26/20213226
html.elements.input.type_datetime-local 📋Chrome6/26/2012 Safari4/26/20213226
Firefox: Firefox only displays a date picker and does not display a time picker, see bug 1726108.Safari: Safari only displays a date picker and does not display a time picker.
html.elements.input.type_email 📋Chrome5/25/2010 Edge7/29/20151891
Safari on iOS: Doesn't do validation, but instead offers a custom 'email' keyboard, which is designed to make entering email addresses easier.Safari on iOS: The custom 'email' keyboard does not provide a comma key, so users cannot enter multiple email addresses.Safari on iOS: Automatically applies a default style of opacity: 0.4 to disable textual <input> elements, including those of type 'email'. Other major browsers don't currently share this particular default style.WebView on iOS: Doesn't do validation, but instead offers a custom 'email' keyboard, which is designed to make entering email addresses easier.WebView on iOS: The custom 'email' keyboard does not provide a comma key, so users cannot enter multiple email addresses.WebView on iOS: Automatically applies a default style of opacity: 0.4 to disable textual <input> elements, including those of type 'email'. Other major browsers don't currently share this particular default style.
html.elements.input.type_file 📋Safari6/23/2003 Edge7/29/20154419
Firefox: You can set as well as get the value of HTMLInputElement.files in all modern browsers; this was most recently added to Firefox, in version 57 (see bug 1384030).
html.elements.input.type_hidden 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_image 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_number 📋Chrome10/19/2010 Edge7/29/20151744
Chrome: Prevents users from typing non-numeric content.Chrome Android: Prevents users from typing non-numeric content.Firefox: Allows users to type non-numeric content, with the value reflecting an empty string.Firefox for Android: Allows users to type non-numeric content, with the value reflecting an empty string.Quest Browser: Prevents users from typing non-numeric content.Opera: Prevents users from typing non-numeric content.Opera Android: Prevents users from typing non-numeric content.Safari: Allows users to type non-numeric content, with the value reflecting an empty string.Safari on iOS: Allows users to type non-numeric content, with the value reflecting an empty string.Samsung Internet: Prevents users from typing non-numeric content.WebView Android: Prevents users from typing non-numeric content.WebView on iOS: Allows users to type non-numeric content, with the value reflecting an empty string.
html.elements.input.type_password 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_radio 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_range 📋Safari3/18/2008 Edge7/29/20152689
WebView Android: Pre-Chromium Android WebView recognizes the range type, but doesn't implement a range-specific control.
html.elements.input.type_range.tick_marks Chrome5/29/2018 Edge1/15/2020596
html.elements.input.type_range.vertical_orientation Edge7/29/2015 Chrome4/16/20243184
Chrome: Vertical orientation available via the writing-mode property (see Creating vertical controls).Chrome: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Chrome Android: Vertical orientation available via the writing-mode property (see Creating vertical controls).Chrome Android: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Edge: Vertical orientation available by setting the writing-mode: bt-lr style on the input element.Firefox: Vertical orientation available via the writing-mode property (see Creating vertical controls).Firefox: Supported using the non-standard orient="vertical" attribute.Firefox for Android: Vertical orientation available via the writing-mode property (see Creating vertical controls).Firefox for Android: Supported using the non-standard orient="vertical" attribute.Internet Explorer: Vertical orientation available by setting the writing-mode: bt-lr style on the input element.Quest Browser: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Opera: Vertical orientation available via the writing-mode property (see Creating vertical controls).Opera: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Opera Android: Vertical orientation available via the writing-mode property (see Creating vertical controls).Opera Android: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Safari: Vertical orientation available via the writing-mode property (see Creating vertical controls).Safari: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Safari on iOS: Vertical orientation available via the writing-mode property (see Creating vertical controls).Safari on iOS: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.Samsung Internet: Vertical orientation available via the writing-mode property (see Creating vertical controls).Samsung Internet: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.WebView Android: Vertical orientation available via the writing-mode property (see Creating vertical controls).WebView Android: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.WebView on iOS: Vertical orientation available via the writing-mode property (see Creating vertical controls).WebView on iOS: Vertical orientation available by setting the non-standard -webkit-appearance: slider-vertical style on the input element. You shouldn't use this, since it's proprietary, unless you include appropriate fallbacks for users of other browsers.
html.elements.input.type_reset 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Unlike other browsers, Firefox by default persists the dynamic disabled state of a <button> across page loads. Use the autocomplete attribute to control this feature.Firefox for Android: Unlike other browsers, Firefox for Android by default persists the dynamic disabled state of a <button> across page loads. Use the autocomplete attribute to control this feature.
html.elements.input.type_search 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.input.type_submit 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Unlike other browsers, Firefox by default persists the dynamic disabled state of a <button> across page loads. Use the autocomplete attribute to control this feature.Firefox for Android: Unlike other browsers, Firefox for Android by default persists the dynamic disabled state of a <button> across page loads. Use the autocomplete attribute to control this feature.
html.elements.input.type_tel 📋Safari6/8/2009 Edge7/29/20152242
Chrome: The field type doesn't demonstrate any special behavior.Safari: The field type doesn't demonstrate any special behavior.
html.elements.input.type_text 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.type_time 📋Chrome6/26/2012 Safari4/26/20213226
html.elements.input.type_url 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.usemap 📋Safari6/23/2003 Edge7/29/20154419
html.elements.input.webkitdirectory Chrome10/19/2010 Safari4/12/20182732
Chrome Android: In Chrome for Android 131, choosing a directory crashes the browser (see bug 376834374).Chrome Android: Before version 131, users cannot choose a directory, only individual files (see bug 40248532.Opera Android: In Chrome for Android 131, choosing a directory crashes the browser (see bug 376834374).Opera Android: Before version 87, users cannot choose a directory, only individual files (see bug 40248532.Safari on iOS: The attribute can be set but users cannot choose a directory, only individual files (see bug 271705).WebView Android: In Chrome for Android 131, choosing a directory crashes the browser (see bug 376834374).WebView Android: Before version 131, users cannot choose a directory, only individual files (see bug 40248532.WebView on iOS: The attribute can be set but users cannot choose a directory, only individual files (see bug 271705).
html.elements.ins 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.ins.cite Safari10/26/2007 Edge7/29/20152833
html.elements.ins.datetime Safari10/26/2007 Edge7/29/20152833
html.elements.kbd 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, creating a <kbd> element incorrectly resulted in an HTMLSpanElement object, instead of the expected HTMLElement.
html.elements.label 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.label.for 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.legend 📋Safari10/26/2007 Edge7/29/20152833
html.elements.legend.align Chrome12/11/2008 Edge7/29/20152421
html.elements.li 📋Safari10/26/2007 Edge7/29/20152833
html.elements.li.type 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.li.value 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.as 📋Chrome4/13/2016 Edge4/30/2018747
html.elements.link.blocking 📋Edge9/1/2022 Safari12/11/2024832
html.elements.link.charset 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.crossorigin 📋Chrome4/8/2014 Edge4/30/20181483
Firefox: Before Firefox 83, crossorigin is not supported for rel="icon".Firefox for Android: Before Firefox for Android 83, crossorigin is not supported for rel="icon".
html.elements.link.disabled 📋Chrome12/11/2008 Edge7/29/20152421
Chrome: In Chrome and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Chrome Android: In Chrome Android and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Edge: Since Edge 79, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Quest Browser: In Quest Browser and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Opera: In Chrome and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Opera Android: In Chrome and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.Samsung Internet: In Samsung Internet and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.WebView Android: In WebView Android and other Blink-based browsers, adding the disabled attribute using JavaScript does not remove the stylesheet from document.styleSheets.
html.elements.link.fetchpriority 📋Chrome4/26/2022 Safari12/11/2023594
html.elements.link.href 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.hreflang 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.imagesizes 📋Chrome3/12/2019 Safari12/11/20231735
html.elements.link.imagesrcset 📋Chrome3/12/2019 Safari12/11/20231735
html.elements.link.integrity 📋Chrome9/1/2015 Edge4/30/2018972
html.elements.link.media 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.referrerpolicy 📋Chrome5/25/2016 Safari9/16/20201575
html.elements.link.rel 📋Safari6/23/2003 Edge7/29/20154419
html.elements.link.rel.dns-prefetch 📋Safari6/7/2010 Edge1/15/20203509
Firefox: Only HTTP pages were supported.Firefox for Android: Only HTTP pages were supported.
html.elements.link.rel.icon Safari3/18/2008 Edge7/29/20152689
Chrome: If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set. (Per caniuse.com.).Edge: In version 79 and later (Blink-based Edge), if both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set. (Per caniuse.com.)Firefox: Before Firefox 83, the crossorigin attribute is not supported for rel="icon".Firefox: The media attribute is not supported for rel="icon", see bug 1603885.Opera: In version 15 and later (Blink-based Opera), if both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set. (Per caniuse.com.)Safari: If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set. (Per caniuse.com.)Safari on iOS: Does not use favicons at all (but may have alternative for bookmarks, etc.). (Per caniuse.com.)WebView on iOS: Does not use favicons at all (but may have alternative for bookmarks, etc.). (Per caniuse.com.)
html.elements.link.rel.manifest 📋Chrome11/18/2014 Safari9/18/20233226
html.elements.link.rel.modulepreload 📋Chrome4/17/2018 Safari9/18/20231980
html.elements.link.rel.preconnect 📋Chrome10/13/2015 Edge1/15/20201555
Firefox: Before Firefox 41, it doesn't obey the crossorigin attribute.Firefox for Android: Before Firefox for Android 41, it doesn't obey the crossorigin attribute.
html.elements.link.rel.prefetch 📋Chrome12/2/2010 Safari3/24/20203400
Chrome: Requires secure contextChrome Android: Requires secure contextEdge: Requires secure contextFirefox: Requires secure contextFirefox for Android: Requires secure contextQuest Browser: Requires secure contextOpera: Requires secure contextOpera Android: Requires secure contextSamsung Internet: Requires secure contextWebView Android: Requires secure context
html.elements.link.rel.preload 📋Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-fetch Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-font Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-image Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-script Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-style Chrome4/13/2016 Edge1/15/20201372
Firefox: Disabled due to various web compatibility issues (e.g. bug 1405761).Firefox for Android: Disabled due to various web compatibility issues (e.g. bug 1405761).
html.elements.link.rel.preload.as-track Chrome4/13/2016 Edge1/15/20201372
html.elements.link.rev 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.sizes 📋Safari7/25/2012 Edge2/7/20202753
html.elements.link.target 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.link.type 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.main 📋Chrome3/26/2013 Edge7/29/2015855
html.elements.map 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 5, in Quirks Mode, empty maps were no longer skipped over in favor of non-empty ones when matching.Firefox: Before Firefox 17, the default styling of the <map> HTML element was display: block;. This is now display: inline; and matches the behavior of the other browsers. It was already the case in Quirks Mode.
html.elements.map.name Safari6/23/2003 Edge7/29/20154419
html.elements.mark 📋Chrome10/19/2010 Edge7/29/20151744
html.elements.marquee 📋Safari2/2/2004 Edge7/29/20154195
Firefox: Implements the HTMLDivElement interface.Firefox for Android: Implements the HTMLDivElement interface.
html.elements.marquee.behavior Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.bgcolor Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.direction Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.height Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.hspace Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.loop Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.scrollamount Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.scrolldelay Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.truespeed Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.vspace Safari2/2/2004 Edge7/29/20154195
html.elements.marquee.width Safari2/2/2004 Edge7/29/20154195
html.elements.menu 📋Safari10/26/2007 Edge7/29/20152833
html.elements.meta 📋Safari6/23/2003 Edge7/29/20154419
html.elements.meta.charset 📋Safari10/26/2007 Edge7/29/20152833
html.elements.meta.content 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.meta.http-equiv 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.meta.http-equiv.content-language 📋Edge7/29/2015 Chrome6/5/2017677
html.elements.meta.http-equiv.content-security-policy 📋Edge7/29/2015 Chrome6/5/2017677
html.elements.meta.http-equiv.content-type 📋Edge7/29/2015 Chrome6/5/2017677
html.elements.meta.http-equiv.refresh 📋Safari6/23/2003 Edge7/29/20154419
html.elements.meta.name 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.meta.name.color-scheme 📋Safari3/25/2019 Edge4/13/2020385
html.elements.meta.name.referrer 📋Chrome2/8/2012 Edge1/15/20202898
Chrome: Until Chrome 46, content values weren't constrained to the values listed in the spec.Chrome Android: Until Chrome Android 46, content values weren't constrained to the values listed in the spec.Firefox: The referrer value wasn't taken into account when navigation was happening via the context menu or middle click until Firefox 39.Firefox for Android: The referrer value wasn't taken into account when navigation was happening via the context menu or middle click until Firefox for Android 39.Internet Explorer: Browsers initially supported an early draft of the specification which can only use a meta tag and is only compatible with the origin value from the new spec.Quest Browser: Until Quest Browser 5.0, content values weren't constrained to the values listed in the spec.Opera: Until Opera 33, content values weren't constrained to the values listed in the spec.Opera Android: Until Opera Android 33, content values weren't constrained to the values listed in the spec.Samsung Internet: Until Samsung Internet 5.0, content values weren't constrained to the values listed in the spec.WebView Android: Until WebView Android 46, content values weren't constrained to the values listed in the spec.
html.elements.meta.name.theme-color 📋Chrome3/12/2019 Safari9/20/2021923
Chrome: Chrome uses the color only on installed progressive web apps.Chrome: Chrome reports support, but does not actually use the color anywhere.Chrome Android: Chrome for Android does not use the color on devices with native dark mode enabled unless it's an installed progressive web app or a trusted web activity.Edge: Edge uses the color only on installed progressive web apps.Quest Browser: Chrome for Android does not use the color on devices with native dark mode enabled unless it's an installed progressive web app or a trusted web activity.
html.elements.meta.scheme 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.meter 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.high 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.low 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.max 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.min 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.optimum 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.meter.value 📋Chrome9/2/2010 Edge11/12/20151897
html.elements.nav 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.nobr 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.noembed 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.noframes 📋Safari10/26/2007 Edge7/29/20152833
html.elements.noscript 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.archive 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.border 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.classid 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.codebase 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.codetype 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.data 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.declare 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.form 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.height 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.name 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.standby 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.type 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.usemap 📋Safari10/26/2007 Edge7/29/20152833
html.elements.object.width 📋Safari10/26/2007 Edge7/29/20152833
html.elements.ol 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.ol.compact Safari10/26/2007 Edge7/29/20152833
html.elements.ol.reversed 📋Chrome3/28/2012 Edge1/15/20202849
html.elements.ol.start 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.ol.type 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.optgroup 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.optgroup.disabled 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.optgroup.label 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.option 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.option.disabled 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.option.label 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before 77, Firefox didn't display the value of the label attribute as option text if element's content was empty. See bug 40545.Firefox: Historically, Firefox has allowed keyboard and mouse events to bubble up from the <option> element to the parent <select> element, although this behavior is inconsistent across many browsers. For better Web compatibility (and for technical reasons), they will not bubble up when Firefox is in multi-process mode and the <select> element is displayed as a drop-down list. The behavior is unchanged if the <select> is presented inline and it has either the multiple attribute defined or a size attribute set to more than 1. Rather than watching <option> elements for events, you should watch for change events on <select>. See bug 1090602 for details.Firefox: When Mozilla introduced dedicated content threads to Firefox (through the Electrolysis, or e10s, project), support for styling <option> elements was removed temporarily. Starting in Firefox 54, you can apply foreground and background colors to <option> elements again, using the color and background-color CSS properties. See bug 910022 for more information. Note that this is still disabled in Linux due to lack of contrast (see bug 1338283 for progress on this).Firefox for Android: Before 77, Firefox didn't display the value of the label attribute as option text if element's content was empty. See bug 40545.
html.elements.option.selected 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.option.value 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.output 📋Chrome3/8/2011 Edge10/2/20182765
html.elements.output.for 📋Chrome3/8/2011 Edge10/2/20182765
html.elements.output.form 📋Chrome3/8/2011 Edge10/2/20182765
html.elements.output.name 📋Chrome3/8/2011 Edge10/2/20182765
html.elements.p 📋Safari6/23/2003 Edge7/29/20154419
html.elements.param 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.param.name Chrome12/11/2008 Edge7/29/20152421
html.elements.param.type Chrome12/11/2008 Edge7/29/20152421
html.elements.param.value Chrome12/11/2008 Edge7/29/20152421
html.elements.param.valuetype Chrome12/11/2008 Edge7/29/20152421
html.elements.picture 📋Chrome10/7/2014 Safari3/21/2016531
html.elements.plaintext 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.pre 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.pre.width Safari10/26/2007 Edge7/29/20152833
Chrome: Specifying the width attribute has no layout effect.Chrome Android: Specifying the width attribute has no layout effect.Edge: Specifying the width attribute has no layout effect.Firefox: Since Firefox 29, specifying the width attribute has no layout effect.Firefox for Android: Since Firefox for Android 29, specifying the width attribute has no layout effect.Internet Explorer: Specifying the width attribute has no layout effect.Quest Browser: Specifying the width attribute has no layout effect.Opera: Specifying the width attribute has no layout effect.Opera Android: Specifying the width attribute has no layout effect.Safari: Specifying the width attribute has no layout effect.Safari on iOS: Specifying the width attribute has no layout effect.Samsung Internet: Specifying the width attribute has no layout effect.WebView Android: Specifying the width attribute has no layout effect.
html.elements.progress 📋Chrome9/2/2010 Edge7/29/20151791
Firefox: Before Firefox 14, the <progress> element was incorrectly classified as a form element, and therefore had a form attribute. This has been fixed.Firefox: Firefox provides the ::-moz-progress-bar pseudo-element, which lets you style the part of the interior of the progress bar representing the amount of work completed so far.Firefox for Android: Before Firefox for Android 14, the <progress> element was incorrectly classified as a form element, and therefore had a form attribute. This has been fixed.Firefox for Android: Firefox for Android provides the ::-moz-progress-bar pseudo-element, which lets you style the part of the interior of the progress bar representing the amount of work completed so far.Safari on iOS: Safari on iOS does not support indeterminate progress bars (they are rendered like 0%-completed progress bars).WebView on iOS: WebView on iOS does not support indeterminate progress bars (they are rendered like 0%-completed progress bars).
html.elements.progress.max 📋Chrome9/2/2010 Edge7/29/20151791
html.elements.progress.value 📋Chrome9/2/2010 Edge7/29/20151791
html.elements.q 📋Safari10/26/2007 Edge7/29/20152833
html.elements.q.cite 📋Safari10/26/2007 Edge7/29/20152833
html.elements.rb 📋Chrome5/25/2010 Edge1/15/20203522
Chrome: Blink has support for parsing the rb element, but not for rendering rb content as expected.Chrome Android: Blink has support for parsing the rb element, but not for rendering rb content as expected.Edge: Blink has support for parsing the rb element, but not for rendering rb content as expected.Quest Browser: Blink has support for parsing the rb element, but not for rendering rb content as expected.Opera: Blink has support for parsing the rb element, but not for rendering rb content as expected.Opera Android: Blink has support for parsing the rb element, but not for rendering rb content as expected.Safari: Safari has support for parsing the rb element, but not for rendering rb content as expected.Safari on iOS: Safari on iOS has support for parsing the rb element, but not for rendering rb content as expected.Samsung Internet: Blink has support for parsing the rb element, but not for rendering rb content as expected.WebView Android: Blink has support for parsing the rb element, but not for rendering rb content as expected.WebView on iOS: WebView on iOS has support for parsing the rb element, but not for rendering rb content as expected.
html.elements.rp 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.rt 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.rtc 📋Chrome2/4/2020 Safari3/24/202049
html.elements.ruby 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.s 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.samp 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.script 📋Safari10/26/2007 Edge7/29/20152833
Firefox: Starting in Firefox 4, inserting <script> elements that have been created by calling document.createElement("script") no longer enforces execution in insertion order. This change lets Firefox properly abide by the specification. To make script-inserted external scripts execute in their insertion order, set .async=false on them.
html.elements.script.async 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.script.blocking 📋Edge9/1/2022 Safari12/11/2024832
html.elements.script.crossorigin 📋Chrome5/15/2012 Edge8/2/20161540
Safari: The crossorigin attribute was implemented in WebKit in WebKit bug 81438.Safari on iOS: The crossorigin attribute was implemented in WebKit in WebKit bug 81438.WebView on iOS: The crossorigin attribute was implemented in WebKit in WebKit bug 81438.
html.elements.script.defer 📋Safari10/26/2007 Edge7/29/20152833
Chrome: Chrome does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348Chrome Android: Chrome Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348Firefox: Since Firefox 3.6, the defer attribute is ignored on scripts that don't have the src attribute. However, in Firefox 3.5 even inline scripts are deferred if the defer attribute is set.Internet Explorer: Before version 10, Internet Explorer implemented defer by a proprietary specification. Since version 10 it conforms to the W3C specification.Quest Browser: Quest Browser does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348Opera: Opera does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348Opera Android: Opera Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348Samsung Internet: Samsung Internet does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348WebView Android: WebView Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348
html.elements.script.fetchpriority 📋Chrome4/26/2022 Safari12/11/2023594
html.elements.script.integrity 📋Chrome9/1/2015 Edge4/30/2018972
html.elements.script.nomodule 📋Chrome9/5/2017 Edge10/17/201742
html.elements.script.referrerpolicy 📋Chrome10/16/2018 Safari9/16/2020701
html.elements.script.src 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.script.type 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.script.type.importmap 📋Chrome3/2/2021 Safari3/27/2023755
html.elements.script.type.importmap.integrity 📋Chrome7/23/2024 Safari9/16/202455
html.elements.script.type.module Safari3/27/2017 Edge1/15/20201024
Chrome: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Chrome Android: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Edge: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Quest Browser: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Opera: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Opera Android: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.Safari: Module scripts do not load when the page is served as XHTML (application/xhtml+xml).Safari on iOS: Module scripts do not load when the page is served as XHTML (application/xhtml+xml).Samsung Internet: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.WebView Android: Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.WebView on iOS: Module scripts do not load when the page is served as XHTML (application/xhtml+xml).
html.elements.search 📋Safari9/18/2023 Edge10/13/202325
html.elements.section 📋Chrome5/25/2010 Edge7/29/20151891
html.elements.select 📋Safari6/23/2003 Edge7/29/20154419
Chrome: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.Chrome Android: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.Firefox: Historically, Firefox has allowed keyboard and mouse events to bubble up from the <option> element to the parent <select> element, although this behavior is inconsistent across many browsers. For better Web compatibility (and for technical reasons), when Firefox is in multi-process mode the <select> element is displayed as a drop-down list. The behavior is unchanged if the <select> is presented inline and it has either the multiple attribute defined or a size attribute set to more than 1. Rather than watching <option> elements for events, you should watch for change events on <select>. See bug 1090602 for details.Firefox for Android: Firefox for Android, by default, sets a background-image gradient on all <select multiple> elements. This can be disabled using background-image: none.Quest Browser: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.Safari: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.Safari on iOS: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.Samsung Internet: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.WebView Android: In the Browser app for Android 4.1 (and possibly later versions), there is a bug where the menu indicator triangle on the side of a <select> will not be displayed if a background, border, or border-radius style is applied to the <select>.WebView Android: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.WebView on iOS: border-radius on <select> elements is ignored unless -webkit-appearance is overridden to an appropriate value.
html.elements.select.autocomplete 📋Safari3/21/2016 Edge1/15/20201395
html.elements.select.disabled 📋Safari10/26/2007 Edge7/29/20152833
html.elements.select.form 📋Safari10/26/2007 Edge7/29/20152833
html.elements.select.hr_in_select Safari9/18/2023 Edge11/2/202345
Chrome: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Chrome: Does not expose the <hr> within the accessibility tree.Edge: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Edge: Does not expose the <hr> within the accessibility tree.Firefox: Does not expose the <hr> within the accessibility tree.Firefox for Android: Does not expose the <hr> within the accessibility tree.Opera: Only exposes the <hr> visually in the page when the menu is expanded (arrowing within the collapsed menu does not show them).Opera: Does not expose the <hr> within the accessibility tree.Safari: Does not expose the <hr> within the accessibility tree.Safari on iOS: Does not expose the <hr> within the accessibility tree.WebView on iOS: Does not expose the <hr> within the accessibility tree.
html.elements.select.multiple 📋Safari10/26/2007 Edge7/29/20152833
html.elements.select.name 📋Safari10/26/2007 Edge7/29/20152833
html.elements.select.required 📋Chrome3/8/2011 Edge7/29/20151604
html.elements.select.size 📋Safari10/26/2007 Edge7/29/20152833
html.elements.slot 📋Chrome8/31/2016 Edge1/15/20201232
html.elements.slot.name Chrome8/31/2016 Edge1/15/20201232
html.elements.small 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.source 📋Safari3/18/2008 Edge7/29/20152689
Firefox: Until Firefox 15, Firefox picked the first source element that has a type matching the MIME-type of a supported media format; see bug 449363 for details.Firefox for Android: Until Firefox for Android 15, Firefox for Android picked the first source element that has a type matching the MIME-type of a supported media format; see bug 449363 for details.
html.elements.source.height 📋Chrome4/13/2021 Safari9/20/2021160
html.elements.source.media 📋Safari3/18/2008 Edge7/29/20152689
Firefox: media is supported in <source> within <picture>, <audio>, and <video>. In Firefox 53-119, media is supported only in <source> within <picture>.Firefox for Android: media is supported in <source> within <picture>, <audio>, and <video>. In Firefox for Android 53-119, media is supported only in <source> within <picture>.
html.elements.source.sizes 📋Chrome10/7/2014 Safari3/21/2016531
Chrome: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Chrome Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Opera: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Opera Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Samsung Internet: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).WebView Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).
html.elements.source.src 📋Safari3/18/2008 Edge7/29/20152689
html.elements.source.srcset 📋Chrome10/7/2014 Safari3/21/2016531
Chrome: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Chrome Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Opera: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Opera Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).Samsung Internet: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).WebView Android: Supports a subset of the syntax for resolution switching (using the x descriptor), but not the full syntax that can be used with sizes (using the w descriptor).
html.elements.source.type 📋Safari3/18/2008 Edge7/29/20152689
html.elements.source.width 📋Chrome4/13/2021 Safari9/20/2021160
html.elements.span 📋Safari6/23/2003 Edge7/29/20154419
html.elements.strike 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.Firefox for Android: Before Firefox for Android 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.strong 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, creating a <strong> element incorrectly resulted in an HTMLSpanElement object, instead of the expected HTMLElement.
html.elements.style 📋Safari6/23/2003 Edge7/29/20154419
html.elements.style.blocking 📋Edge9/1/2022 Safari12/11/2024832
html.elements.style.media 📋Safari6/23/2003 Edge7/29/20154419
html.elements.style.type 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before 75, Firefox accepted any CSS media (MIME) type, with optional parameters. Starting in 75, this has been restricted to the string 'text/css', per the spec.
html.elements.sub 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.summary 📋Chrome6/7/2011 Edge1/15/20203144
html.elements.sup 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.table 📋Safari6/23/2003 Edge7/29/20154419
html.elements.table.align Safari6/23/2003 Edge7/29/20154419
html.elements.table.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.table.border Safari6/23/2003 Edge7/29/20154419
html.elements.table.cellpadding Safari6/23/2003 Edge7/29/20154419
html.elements.table.cellspacing Safari6/23/2003 Edge7/29/20154419
html.elements.table.frame Safari6/23/2003 Edge7/29/20154419
html.elements.table.rules Safari6/23/2003 Edge7/29/20154419
html.elements.table.summary Safari6/23/2003 Edge7/29/20154419
html.elements.table.width Safari6/23/2003 Edge7/29/20154419
html.elements.tbody 📋Safari6/23/2003 Edge7/29/20154419
html.elements.tbody.align Safari10/26/2007 Edge7/29/20152833
html.elements.tbody.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.tbody.char Chrome12/11/2008 Edge7/29/20152421
html.elements.tbody.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.tbody.valign Safari10/26/2007 Edge7/29/20152833
html.elements.td 📋Safari6/23/2003 Edge7/29/20154419
html.elements.td.abbr Safari6/23/2003 Edge7/29/20154419
html.elements.td.align Safari10/26/2007 Edge7/29/20152833
html.elements.td.axis Safari6/23/2003 Edge7/29/20154419
html.elements.td.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.td.char Chrome12/11/2008 Edge7/29/20152421
html.elements.td.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.td.colspan Safari6/23/2003 Edge7/29/20154419
html.elements.td.headers Safari6/23/2003 Edge7/29/20154419
html.elements.td.rowspan Safari6/23/2003 Edge7/29/20154419
html.elements.td.scope Safari6/23/2003 Edge7/29/20154419
html.elements.td.valign Safari10/26/2007 Edge7/29/20152833
html.elements.td.width Safari6/23/2003 Edge7/29/20154419
html.elements.template 📋Chrome3/26/2013 Edge11/12/2015961
html.elements.template.shadowrootmode 📋Chrome3/7/2023 Safari3/27/202320
html.elements.textarea 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 6, when a <textarea> was focused, the insertion point was placed at the end of the text by default. Other major browsers place the insertion point at the beginning of the text.Firefox: A default background-image gradient is applied to all <textarea> elements, which can be disabled using background-image: none.Firefox: Before Firefox 89, manipulating the content of <textarea> elements using Document.execCommand() commands requires workarounds (see bug 1220696).Firefox for Android: Before Firefox for Android 6, when a <textarea> was focused, the insertion point was placed at the end of the text by default. Other major browsers place the insertion point at the beginning of the text.Firefox for Android: A default background-image gradient is applied to all <textarea> elements, which can be disabled using background-image: none.Firefox for Android: Before Firefox for Android 89, manipulating the content of <textarea> elements using Document.execCommand() commands requires workarounds (see bug 1220696).Safari on iOS: Unlike other major browsers, a default style of opacity: 0.4 is applied to disabled <textarea> elements.WebView on iOS: Unlike other major browsers, a default style of opacity: 0.4 is applied to disabled <textarea> elements.
html.elements.textarea.autocomplete 📋Safari3/21/2016 Edge1/15/20201395
html.elements.textarea.autocomplete.one-time-code Safari9/17/2018 Edge9/2/20211081
html.elements.textarea.cols 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.dirname 📋Chrome2/8/2012 Edge1/15/20202898
html.elements.textarea.disabled 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.form 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.maxlength 📋Chrome1/25/2010 Edge7/29/20152011
Safari: Before Safari 17, newline characters counted as two characters instead of one. See bug 249916.Safari on iOS: Before Safari on iOS 17, newline characters counted as two characters instead of one. See bug 249916.WebView on iOS: Before WebView on iOS 17, newline characters counted as two characters instead of one. See bug 249916.
html.elements.textarea.minlength 📋Chrome1/21/2015 Edge4/30/20181195
html.elements.textarea.name 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.placeholder 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.textarea.placeholder.line_breaks Chrome7/16/2014 Safari9/12/20222980
html.elements.textarea.readonly 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.required 📋Chrome1/25/2010 Edge7/29/20152011
html.elements.textarea.rows 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.textarea.spellcheck Chrome2/3/2011 Edge7/29/20151637
html.elements.textarea.wrap 📋Chrome12/13/2011 Edge7/29/20151324
html.elements.tfoot 📋Safari6/23/2003 Edge7/29/20154419
html.elements.tfoot.align Safari10/26/2007 Edge7/29/20152833
html.elements.tfoot.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.tfoot.char Chrome12/11/2008 Edge7/29/20152421
html.elements.tfoot.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.tfoot.valign Safari10/26/2007 Edge7/29/20152833
html.elements.th 📋Safari6/23/2003 Edge7/29/20154419
html.elements.th.abbr Safari6/23/2003 Edge7/29/20154419
html.elements.th.align Safari10/26/2007 Edge7/29/20152833
html.elements.th.axis Safari6/23/2003 Edge7/29/20154419
html.elements.th.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.th.char Chrome12/11/2008 Edge7/29/20152421
html.elements.th.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.th.colspan Safari6/23/2003 Edge7/29/20154419
html.elements.th.headers Safari6/23/2003 Edge7/29/20154419
html.elements.th.rowspan Safari6/23/2003 Edge7/29/20154419
html.elements.th.scope Safari6/23/2003 Edge7/29/20154419
html.elements.th.valign Safari10/26/2007 Edge7/29/20152833
html.elements.th.width Safari6/23/2003 Edge7/29/20154419
html.elements.thead 📋Safari6/23/2003 Edge7/29/20154419
Safari: Backgrounds applied to <thead> elements will be applied to each table cell, rather than the entire header. To mimic the behavior of other browsers, set the background-attachment CSS property to fixed.Safari on iOS: Backgrounds applied to <thead> elements will be applied to each table cell, rather than the entire header. To mimic the behavior of other browsers, set the background-attachment CSS property to fixed.WebView on iOS: Backgrounds applied to <thead> elements will be applied to each table cell, rather than the entire header. To mimic the behavior of other browsers, set the background-attachment CSS property to fixed.
html.elements.thead.align Safari10/26/2007 Edge7/29/20152833
html.elements.thead.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.thead.char Chrome12/11/2008 Edge7/29/20152421
html.elements.thead.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.thead.valign Safari10/26/2007 Edge7/29/20152833
html.elements.time 📋Safari10/22/2013 Chrome10/17/20171456
html.elements.time.datetime Safari10/22/2013 Chrome10/17/20171456
html.elements.title 📋Safari6/23/2003 Edge7/29/20154419
html.elements.tr 📋Safari6/23/2003 Edge7/29/20154419
html.elements.tr.align Safari10/26/2007 Edge7/29/20152833
html.elements.tr.bgcolor Safari6/23/2003 Edge7/29/20154419
html.elements.tr.char Chrome12/11/2008 Edge7/29/20152421
html.elements.tr.charoff Chrome12/11/2008 Edge7/29/20152421
html.elements.tr.valign Safari10/26/2007 Edge7/29/20152833
html.elements.track 📋Safari7/25/2012 Edge7/29/20151099
Chrome Android: Doesn't work for fullscreen video.Quest Browser: Doesn't work for fullscreen video.Samsung Internet: Doesn't work for fullscreen video.WebView Android: Doesn't work for fullscreen video.
html.elements.track.default 📋Safari7/25/2012 Edge7/29/20151099
html.elements.track.kind 📋Safari7/25/2012 Edge7/29/20151099
html.elements.track.label 📋Safari7/25/2012 Edge7/29/20151099
html.elements.track.src 📋Safari7/25/2012 Edge7/29/20151099
Firefox: Before Firefox 50, setting the src didn't work, though it didn't raise an error.Firefox for Android: Before Firefox for Android 50, setting the src didn't work, though it didn't raise an error.
html.elements.track.srclang 📋Safari7/25/2012 Edge7/29/20151099
html.elements.tt 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.Firefox for Android: Before Firefox for Android 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.u 📋Safari6/23/2003 Edge7/29/20154419
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.elements.ul 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.ul.compact 📋Safari10/26/2007 Edge7/29/20152833
html.elements.ul.type 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.var 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.video 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.aspect_ratio_computed_from_attributes Chrome12/10/2019 Safari9/16/2020281
html.elements.video.autoplay 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.autoplay.requires_muted_audio Chrome5/29/2018 Safari9/12/20221567
Firefox for Android: Between versions 79 and 91, the default behavior was to block videos from autoplaying, regardless of whether audio was muted.
html.elements.video.controls 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.crossorigin 📋Chrome2/20/2014 Edge10/2/20181685
Firefox: With crossorigin="use-credentials", cookies aren't sent during seek. See bug 1532722.Firefox for Android: With crossorigin="use-credentials", cookies aren't sent during seek. See bug 1532722.
html.elements.video.disablepictureinpicture 📋Chrome9/4/2018 Safari3/24/2020567
Firefox: When this attribute is set, the overlay button to disable picture-in-picture (PiP) is hidden, but the user can still enable PiP.Firefox: When this attribute is set, the overlay button to disable picture-in-picture (PiP) is hidden, but the user can still enable PiP.Firefox for Android: When this attribute is set, the overlay button to disable picture-in-picture (PiP) is hidden, but the user can still enable PiP.Firefox for Android: When this attribute is set, the overlay button to disable picture-in-picture (PiP) is hidden, but the user can still enable PiP.
html.elements.video.disableremoteplayback 📋Safari3/24/2020 Edge1/25/20241402
html.elements.video.height 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.loop 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.muted 📋Safari6/7/2010 Edge7/29/20151878
html.elements.video.playsinline 📋Safari9/20/2016 Edge1/15/20201212
html.elements.video.poster 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.preload 📋Safari3/18/2008 Edge7/29/20152689
Chrome: Defaults to metadata in Chrome 64.Chrome Android: Defaults to metadata in Chrome Android 64.Quest Browser: Defaults to metadata in Quest Browser 5.0.Opera: Defaults to metadata in Opera 51.Opera Android: Defaults to metadata in Opera Android 47.Samsung Internet: Defaults to metadata in Samsung Internet 9.0.WebView Android: Defaults to metadata in WebView Android 64.
html.elements.video.src 📋Safari3/18/2008 Edge7/29/20152689
html.elements.video.width 📋Safari3/18/2008 Edge7/29/20152689
html.elements.wbr 📋Chrome12/11/2008 Edge7/29/20152421
html.elements.xmp 📋Chrome12/11/2008 Edge7/29/20152421
Firefox: Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.Firefox for Android: Before Firefox for Android 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.
html.global_attributes.accesskey 📋Chrome12/11/2008 Edge7/29/20152421
html.global_attributes.autofocus 📋Chrome12/10/2019 Safari3/14/2022825
Chrome: Supported for the <button>, <input>, <select>, and <textarea> elements.Chrome Android: Supported for the <button>, <input>, <select>, and <textarea> elements.Edge: Supported for the <button>, <input>, <select>, and <textarea> elements.Firefox: Supported for the <button>, <input>, <select>, and <textarea> elements.Firefox for Android: Supported for the <button>, <input>, <select>, and <textarea> elements.Internet Explorer: Supported for the <button>, <input>, <select>, and <textarea> elements.Quest Browser: Supported for the <button>, <input>, <select>, and <textarea> elements.Opera: Supported for the <button>, <input>, <select>, and <textarea> elements.Opera Android: Supported for the <button>, <input>, <select>, and <textarea> elements.Safari: Supported for the <button>, <input>, <select>, and <textarea> elements.Safari on iOS: If there's no hardware keyboard connected, then the autofocus attribute has no effect (for example, the focus event doesn't fire and the element does not match the :focus selector).Samsung Internet: Supported for the <button>, <input>, <select>, and <textarea> elements.WebView Android: Supported for the <button>, <input>, <select>, and <textarea> elements.WebView on iOS: If there's no hardware keyboard connected, then the autofocus attribute has no effect (for example, the focus event doesn't fire and the element does not match the :focus selector).
html.global_attributes.class 📋Chrome12/11/2008 Edge7/29/20152421
html.global_attributes.contenteditable 📋Chrome12/11/2008 Edge7/29/20152421
html.global_attributes.contenteditable.plaintext-only Chrome5/25/2016 Safari3/24/20201399
html.global_attributes.data_attributes 📋Chrome10/19/2010 Edge7/29/20151744
html.global_attributes.dir 📋Chrome12/11/2008 Edge1/15/20204052
html.global_attributes.draggable 📋Chrome1/25/2010 Edge7/29/20152011
html.global_attributes.enterkeyhint 📋Chrome9/10/2019 Safari3/24/2020196
html.global_attributes.exportparts 📋Chrome3/12/2019 Safari3/24/2020378
html.global_attributes.hidden 📋Chrome3/8/2011 Edge7/29/20151604
Safari: This attribute has no effect on <option> elements.Safari on iOS: This attribute has no effect on <option> elements.WebView on iOS: This attribute has no effect on <option> elements.
html.global_attributes.id 📋Safari6/23/2003 Edge7/29/20154419
Firefox: id is a true global attribute only since Firefox 32.Firefox for Android: id is a true global attribute only since Firefox for Android 32.
html.global_attributes.inert 📋Safari5/16/2022 Edge5/31/202215
html.global_attributes.inputmode 📋Chrome4/17/2018 Edge1/15/2020638
Safari on iOS: Before iOS 13, inputmode="none" had no effect.WebView on iOS: Before iOS 13, inputmode="none" had no effect.
html.global_attributes.lang 📋Chrome12/11/2008 Edge7/29/20152421
html.global_attributes.nonce 📋Chrome9/5/2017 Safari3/14/20221651
html.global_attributes.nonce.nonce_hiding 📋Chrome9/5/2017 Safari5/16/20221714
html.global_attributes.part 📋Chrome3/12/2019 Safari3/24/2020378
html.global_attributes.popover 📋Chrome5/30/2023 Safari9/18/2023111
html.global_attributes.slot 📋Chrome8/31/2016 Edge1/15/20201232
html.global_attributes.spellcheck 📋Chrome2/3/2011 Edge7/29/20151637
html.global_attributes.style 📋Safari6/23/2003 Edge7/29/20154419
html.global_attributes.tabindex 📋Safari3/18/2008 Edge7/29/20152689
html.global_attributes.title 📋Chrome12/11/2008 Edge7/29/20152421
html.global_attributes.title.multi-line_titles Edge7/29/2015 Chrome1/23/2018909
html.global_attributes.translate 📋Chrome5/15/2012 Edge1/15/20202801
html.global_attributes.writingsuggestions 📋Chrome4/16/2024 Safari9/16/2024153
html.manifest.display 📋Chrome11/18/2014 Safari9/18/20233226
Chrome: display and/or display_override are required for a web app to be installable.Chrome Android: display and/or display_override are required for a web app to be installable.Edge: display and/or display_override are required for a web app to be installable.Quest Browser: display and/or display_override are required for a web app to be installable.Opera: display and/or display_override are required for a web app to be installable.Opera Android: display and/or display_override are required for a web app to be installable.Samsung Internet: display and/or display_override are required for a web app to be installable.WebView Android: display and/or display_override are required for a web app to be installable.
html.manifest.display.browser 📋Chrome11/18/2014 Safari9/18/20233226
html.manifest.display.standalone 📋Chrome11/18/2014 Safari9/18/20233226
html.manifest.icons 📋Chrome11/18/2014 Safari9/18/20233226
Chrome: icons is required for a web app to be installable.Chrome Android: icons is required for a web app to be installable.Edge: icons is required for a web app to be installable.Quest Browser: icons is required for a web app to be installable.Opera: icons is required for a web app to be installable.Opera Android: icons is required for a web app to be installable.Safari: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.Safari on iOS: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.Samsung Internet: icons is required for a web app to be installable.WebView Android: icons is required for a web app to be installable.WebView on iOS: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.
html.manifest.id 📋Chrome11/15/2021 Safari9/18/2023672
Firefox: The property parses, but has no effect.
html.manifest.name 📋Chrome11/18/2014 Safari9/18/20233226
Chrome: name or short_name is required for a web app to be installable.Chrome Android: name or short_name is required for a web app to be installable.Edge: name or short_name is required for a web app to be installable.Quest Browser: name or short_name is required for a web app to be installable.Opera: name or short_name is required for a web app to be installable.Opera Android: name or short_name is required for a web app to be installable.Samsung Internet: name or short_name is required for a web app to be installable.WebView Android: name or short_name is required for a web app to be installable.
html.manifest.scope 📋Chrome8/31/2016 Safari9/18/20232574
html.manifest.short_name 📋Chrome11/18/2014 Safari9/18/20233226
Chrome: short_name or name is required for a web app to be installable.Chrome Android: short_name or name is required for a web app to be installable.Edge: short_name or name is required for a web app to be installable.Quest Browser: short_name or name is required for a web app to be installable.Opera: short_name or name is required for a web app to be installable.Opera Android: short_name or name is required for a web app to be installable.Samsung Internet: short_name or name is required for a web app to be installable.WebView Android: short_name or name is required for a web app to be installable.
html.manifest.shortcuts 📋Chrome11/15/2021 Safari3/5/2024841
Chrome: Supported on Windows only.Edge: Supported on Windows only.Opera: Supported on Windows only.
html.manifest.start_url 📋Chrome11/18/2014 Safari9/18/20233226
Chrome: start_url is required for a web app to be installable.Chrome Android: start_url is required for a web app to be installable.Edge: start_url is required for a web app to be installable.Quest Browser: start_url is required for a web app to be installable.Opera: start_url is required for a web app to be installable.Opera Android: start_url is required for a web app to be installable.Samsung Internet: start_url is required for a web app to be installable.WebView Android: start_url is required for a web app to be installable.
html.manifest.theme_color 📋Chrome10/13/2015 Safari9/18/20232897