From Handwiki | Cascading Style Sheets |
|---|
|
| Concepts |
|
| Philosophies |
|
| Tools |
|
| Comparisons |
|
|
This article compares Cascading Style Sheets (CSS) support for several browser engines.
| Engine | Status | Embedded in |
|---|---|---|
| WebKit | Active | Safari browser, plus all browsers hosted on the iOS App Store. |
| Blink | Active | Google Chrome and other web browsers based on Chromium, such as Microsoft Edge, Opera, and Brave. |
| EdgeHTML | Active | Universal Windows Platform apps; formerly in the Edge browser[1]. |
| Gecko | Active | Firefox browser and Thunderbird email client, plus forks like SeaMonkey and Waterfox. |
| KHTML | Discontinued | Konqueror browser |
| Presto | Discontinued | Formerly used as Opera's browser engine, prior to the migration to Chromium and Blink. |
| Trident | Discontinued | Internet Explorer and versions of Microsoft Outlook prior to Outlook 2007. |
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
| Value | Meaning |
|---|---|
| Yes | Fully supported |
| No | Has never been supported |
| Partial | Only some values are supported |
| Incorrect | Not implemented correctly in all cases |
| Experimental | May be incomplete or buggy |
| Nightly build | Currently in development; full support is expected |
| Depends | Only supported for the specified conditions |
| Dropped | No longer supported |
The DOM properties corresponding to vendor-specific experimental CSS properties are prefixed with the vendor-prefix, without any hyphens, and with first letters capitalised, e.g. element.style.MozBorderRadius corresponding to the -moz-border-radius property, or element.style.OTransform corresponding to the -o-transform property. The exception is MSHTML, which used a lower-case prefix, e.g. element.style.msTransform.
-moz- — All experimental selectors, properties and values are prefixed with "-moz-", e.g. ::-moz-selection instead of ::selection.-webkit- — All experimental selectors, properties and values are prefixed with "-webkit-", e.g. -webkit-box-shadow instead of box-shadow.-ms- — All experimental properties are prefixed with "-ms-", e.g. -ms-interpolation-mode instead of interpolation-mode.-khtml- — All experimental selectors, properties and values are prefixed with "-khtml-", e.g. -khtml-opacity instead of opacity.-o- — All experimental properties are prefixed with "-o-", e.g. -o-transition-property instead of transition-property.| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| CSS2 | !important
|
Weight increasing | 7.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
/*Comment*/
|
Comments | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 | ||||
@import
|
Import stylesheet | 8.0 | 12 | 1.0 | Yes | Yes | 1.0 | ||||
@charset
|
Character set | 5.5 | 12 | 1.0 | Yes | 4.2.3 | 1.0 | ||||
@media
|
Media-specific rules | 5.5 | 12 | 1.0 | Yes | Yes | 1.0 | ||||
| css- namespace-3 |
@namespace
|
Namespace declaration | 9.0[t 1] | 12 | 1.0 | Yes | Yes | 1.0 | |||
| earlier draft of css3- conditional |
@document
|
Restriction by URLs | No | No | 6.0 | No | No | No | |||
| css- animations-1 |
@keyframes
|
Animation key | 10.0[t 2] | 12 | 16.0 | Experimental | No | 2.12 | |||
| css- conditional-3 |
@supports
|
Conditional Rules | No | 12 | 22.0[g 1] | 28.0[w 1] | No | 2.12 | |||
| css-counter- styles-3 |
@counter-style
|
Custom Counter Styles | No | No | 33.0[g 2] | No | No | No | |||
| css-device- adapt-1 |
@viewport
|
Viewport, Device Adaptation | 10.0[t 3] | 12.0 | No[w 2] | No | No | 2.7.62[p 1] | |||
| filter- effects-1 |
@filter
|
Filter | No | No | 35.0 | Experimental | No | No | |||
| Page | |||||||||||
| CSS2 | @page
|
For paged media | 8.0 | 12 | 19.0[g 3] | Nightly Build[w 3] | No | 1.0 | |||
| css-page-3 | @top-left-corner
|
Margin boxes[spec 3] | No | No | No | No[w 4] | No | No | |||
@top-left
| |||||||||||
@top-center
| |||||||||||
@top-right
| |||||||||||
@top-right-corner
| |||||||||||
@bottom-left-corner
| |||||||||||
@bottom-left
| |||||||||||
@bottom-center
| |||||||||||
@bottom-right
| |||||||||||
@bottom-right-corner
| |||||||||||
@left-top
| |||||||||||
@left-middle
| |||||||||||
@left-bottom
| |||||||||||
@right-top
| |||||||||||
@right-middle
| |||||||||||
@right-bottom
| |||||||||||
| Font | |||||||||||
| css-fonts-3 | @font-face
|
Define font | 9.0[t 4] | 12 | 1.9.1 | 525 | 4.3 | 2.2 | |||
@font-feature-values
|
Define font features | No | No | 34.0 | No | No | No | ||||
@annotation
|
Font feature value block | ||||||||||
@styleset
|
No | No | No | No | No | ||||||
@swash
|
No | No | No | No | No | ||||||
@ornaments
|
No | No | No | No | No | ||||||
@stylistic
|
No | No | No | No | No | ||||||
@character-variant
|
No | No | No | No | No | ||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||||||
!important doesn't override rules defined later in the same declaration block.@import <URL> <MEDIA>, IE requests as the URL "<URL> <MEDIA>" and will include the url() token and/or quotes in the URL, too, if present. Cannot import more than 35 stylesheets.| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Element selectors[spec 4] | |||||||||||
| CSS2 | *
|
Universal | 7.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
E
|
Element | 4.0 | 12 | 1.0 | 85 | Yes | |||||
E.class
|
Class | 7.0 | 12 | 1.0 | 85 | Yes | |||||
E#id
|
ID | 4.0 | 12 | 1.0 | 85 | Yes | |||||
| selectors-3 | ns|E
|
Namespaced | 9.0 | 12 | 1.0 | Yes | Yes | ||||
| Relationship selectors | |||||||||||
| CSS2 | E F
|
Descendant | 4.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
E > F
|
Child | 7.0 | 12 | 1.0 | 85 | Yes | |||||
E + F
|
Direct adjacent | 7.0 | 12 | 1.0 | 85 | Yes | |||||
| selectors-3 | E ~ F
|
Indirect adjacent | 7.0 | 12 | 1.7 | 412 | 3.3.2 | 2.0 | |||
| selectors-4 | E /for/ F
|
Reference combinators | No | No | No | No | No | No | |||
E! > F
|
Subject | No | No | No[g 4] | No | No | No | ||||
F || E
|
Column relation | No | No | No | No | No | No | ||||
| Attribute selectors | |||||||||||
| CSS2 | E[attr]
|
Has | 7.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
E[attr="value"]
|
Equals | 7.0 | 12 | 1.0 | Yes | Yes | |||||
E[attr~="value"]
|
Contains (space-separated) | 7.0 | 12 | 1.0 | Yes | Yes | |||||
E[attr|="value"]
|
Contains (hyphen-separated) | 7.0 | 12 | 1.0 | Yes | Yes | |||||
| selectors-3 | E[attr^="value"]
|
Begins with | 7.0 | 12 | 1.0 | Yes | 3.4 | 1.0 | |||
E[attr$="value"]
|
Ends with | 7.0 | 12 | 1.0 | Yes | 3.4 | 2.0 | ||||
E[attr*="value"]
|
Contains substring | 7.0 | 12 | 1.0 | Yes | 3.4 | |||||
E[ns|attr]
|
Namespaced | 7.0 | 12 | 1.0 | Yes | 3.4 | |||||
| selectors-4 | E[foo="bar" i]
|
Case-sensitivity | No | No | No | No | No | No | |||
| Pseudo-classes | |||||||||||
| CSS2 | E:link
|
Unvisited hyperlink | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
E:visited
|
Visited hyperlink | 3.0 | 12 | 1.0 | 85 | Yes | |||||
E:active
|
Active | 8.0 | 1.0 | 12 | 85 | Yes | |||||
E:hover
|
Mouseover | 7.0 | 12 | 1.0 | 419.3 | Yes | |||||
E:focus
|
Focused | 8.0 | 12 | 1.0 | Yes | Yes | |||||
E:first-child
|
First child | 7.0 | 12 | 1.0 | 85 | Yes | |||||
E:lang()
|
Language | 8.0 | 12 | 1.2 | 525 | 3.4 | |||||
@page:first
|
First page | 8.0 | 12 | No[g 5] | Yes[w 5] | No | |||||
@page:left
|
Left page | ||||||||||
@page:right
|
Right page | ||||||||||
| selectors-3 | E:root
|
Root | 9.0 | 12 | 1.0 | 85 | 3.4 | 2.1 | |||
E:not()
|
Negation | ||||||||||
E:empty
|
Empty | 1.8 | 412 | ||||||||
E:first-of-type
|
First child of type | 1.9.1 | 525 | ||||||||
E:last-child
|
Last child | 1.0 | |||||||||
E:last-of-type
|
Last child of type | 1.9.1 | |||||||||
E:only-child
|
Only child | 1.8 | |||||||||
E:only-of-type
|
Only child of type | 1.9.1 | |||||||||
E:nth-child
|
Nth child | 1.9.1 | |||||||||
E:nth-last-child
|
Nth last child | 1.9.1 | |||||||||
E:nth-of-type
|
Nth child of type | 1.9.1 | |||||||||
E:nth-last-of-type
|
Nth last child of type | 1.9.1 | |||||||||
E:target
|
Target | 1.3 | 2.5 | ||||||||
E:enabled
|
Enabled state | 1.8 | 2.0 | ||||||||
E:disabled
|
Disabled state | 1.8 | |||||||||
E:checked
|
Checked state | 1.0 | |||||||||
| selectors-4 | E:indeterminate
|
Indeterminate state | 1.9.2 | 522 | No | No | |||||
E:default
|
Default | No | No | 1.9 | Yes[w 6] | 4.3 | 2.0 | ||||
E:valid
|
Valid | 10.0[t 5] | 12 | 1.8 | Yes[w 7] | No | |||||
E:invalid
|
Invalid | 10.0[t 6] | 12 | ||||||||
E:in-range
|
In range | No | 13 | Yes[w 8] | |||||||
E:out-of-range
|
Out of range | No | 13 | ||||||||
E:required
|
Required | 10.0[t 7] | 12 | 2.0[g 6] | Yes[w 9] | ||||||
E:optional
|
Optional | 10.0[t 8] | 12 | ||||||||
E:read-only
|
Read-only | No | 13 | 78[g 7] | 530 | Incorrect | Incorrect | ||||
E:read-write
|
Read and write | No | 13 | ||||||||
E:not(s1, s2)
|
Negations | No | No | 84 | No | No | No | ||||
E:is(s1, s2)
|
Matches-any | 82[g 8] | |||||||||
E:has(s1)
|
Relational pseudo-class | No | |||||||||
E:dir(ltr)
|
Directionality | 49[g 9] | |||||||||
E:lang(zh, *-hant)
|
Languages | No | |||||||||
E:any-link
|
Hyperlink | 50.0[g 10] | |||||||||
E:local-link
|
Local link | No | |||||||||
E:local-link(0)
|
Local link | ||||||||||
E:scope
|
Contextual reference | 32[g 11] | |||||||||
E:current
|
Time-dimensional : current | No | |||||||||
E:current(s)
|
Time-dimensional : current | ||||||||||
E:past
|
Time-dimensional : past | ||||||||||
E:future
|
Time-dimensional : future | ||||||||||
E:nth-match(n of selector)
|
Nth child of | ||||||||||
E:nth-last-match(n of selector)
|
Nth last child of | ||||||||||
E:column(selector)
|
Column | ||||||||||
E:nth-column(n)
|
Nth column | ||||||||||
E:nth-last-column(n)
|
Nth last column | ||||||||||
E:placeholder-shown
|
placeholder text | ||||||||||
E:active-drop
|
will receive the item | ||||||||||
E:valid-drop
|
could receive the item | ||||||||||
E:invalid-drop
|
cannot receive the item | ||||||||||
| Pseudo-elements | |||||||||||
| CSS2 | E:first-letter
|
First letter | 9.0 | 12 | 1.0 | 85 | Yes | 1.0 | |||
E:first-line
|
First line | Partial | |||||||||
E:before
|
Before | 8.0 | 1.9.1 | Partial | |||||||
E:after
|
After | ||||||||||
| selectors-3 | E::before
|
Double colon notation | 9.0 | 12 | 1.9.1 | Partial | 3.4 | 1.0 | |||
E::after
|
Double colon notation | ||||||||||
E::first-letter
|
Double colon notation | 1.5 | 85 | ||||||||
E::first-line
|
Double colon notation | Partial | |||||||||
| css-pseudo-4 | E::marker[spec 5]
|
list marker | No | No | 68 | No | No | No | |||
E::selection
|
Selection | 9.0 | 12 | 62 | 412 | 3.4 | 2.1 | ||||
| CSS UI pseudo elements | E::value
|
user interface element fragments[spec 6] | No | No | No | No | No | No | |||
E::choices
| |||||||||||
E::repeat-item
| |||||||||||
E::repeat-index
| |||||||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||||||
contenteditable attribute incorrectly.:active is only supported on anchor elements.:hover is only supported on anchor elements..two class selector was taken into consideration.td and th in a table when the attribute is colspan (regardless of whether any actually have a colspan attribute).[t 9] This may not actually be a bug, as ambiguity exists in the specification.[t 10]:first-letter rules with others may be problematic.[t 11] In 8.0, rules with !important are ignored inside :first-line and :first-letter declarations.[t 12]text-transform doesn't apply with this pseudo-element.[w 10](:):before/after — some styles can't be applied to :before and :after pseudo-elements, such as animations and transitions.[w 11]| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
|---|---|---|---|---|---|---|---|
| Cascading and Inheritance | |||||||
| css- cascade-3 |
all
|
No | No | 27.0[g 13] | No | No | No |
| Display | |||||||
| CSS2 | display
|
8.0 | 12 | 1.9 | 85 | Yes | 1.0 |
| Earlier draft of css- display-3 |
display-inside
|
No | No | No | No | No | No |
display-outside
| |||||||
display-list
| |||||||
| css- display-3 |
box-suppress
| ||||||
| Box Model[spec 7] | |||||||
| CSS2 | margin
|
9.0 | 12 | 1.0 | 85 | Yes | 1.0 |
padding
|
4.0 | 1.0 | 85 | Yes | |||
width
|
4.0 | 1.0 | 85 | Yes | |||
height
|
4.0 | 1.0 | 85 | Yes | |||
float
|
5.0 | 1.0 | 85 | Yes | |||
clear
|
5.0 | 1.0 | 85 | Yes | |||
min-width
|
7.0 | 1.0 | Partial | Yes | |||
max-width
|
7.0 | 1.0 | Partial | Yes | |||
min-height
|
7.0 | 1.7 | Partial | 3.3.2 | |||
max-height
|
7.0 | 1.7 | Partial | 3.3.2 | |||
visibility
|
9.0 | 1.8 | Partial | Partial | 2.5 | ||
| Overflow | |||||||
| CSS2 | overflow
|
9.0 | 12 | 1.0 | 85 | 3.2 | 1.0 |
| css- overflow- 3 |
overflow-x
|
9.0 | 12 | 1.8 | 525 | 3.5.6 | 2.1 |
overflow-y
| |||||||
max-lines
|
No | No | No | No | No | No | |
| Borders | |||||||
| CSS2 | border
|
4.0 | 12 | 1.0 | 85 | Yes | 1.0 |
border-color
|
7.0 | ||||||
border-style
|
8.0 | ||||||
border-width
|
4.0 | ||||||
border-top
|
5.5 | ||||||
border-right
| |||||||
border-bottom
| |||||||
border-left
| |||||||
| css- backgrounds-3 |
border-radius
|
9.0[t 1] | 12 | 2.0[g 14] | 533[w 12] | Experimental | 2.5 |
border-image
|
11.0 | 15.0[g 15] | Experimental | No | 2.5 | ||
border-image-source
|
15.0[g 16] | No | No | ||||
border-image-slice
| |||||||
border-image-width
| |||||||
border-image-outset
| |||||||
border-image-repeat
| |||||||
box-shadow
|
9.0[t 13] | 2.0[g 17]
[g 18] |
Yes[w 13] | No | 2.5 | ||
box-decoration-break
|
No | No | 32.0[g 19] | No[w 14] | No | 2.7[p 2] | |
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Line Layout[spec 8] | |||||||
| CSS2 | line-height
|
4.0 | 12 | 1.0 | 85 | Yes | 1.0 |
vertical-align
|
8.0 | 1.0 | 85 | Yes | |||
| Positioning | |||||||
| CSS2 | position
|
7.0 | 12 | 1.0 | 85 | Yes | 1.0 |
top
|
8.0 | 1.0 | 85 | Yes | |||
right
|
8.0 | 1.0 | 85 | Yes | |||
bottom
|
8.0 | 1.0 | 85 | Yes | |||
left
|
8.0 | 1.0 | 85 | Yes | |||
z-index
|
8.0 | 1.9 | 85 | Yes | |||
| Box Alignment Module | |||||||
| css-align-3 | |||||||
align-content
|
11.0 | 12 | 28.0 | Experimental | No | No | |
align-items
|
20.0 | ||||||
align-self
| |||||||
justify-content
| |||||||
justify-items
|
No | No | No | ||||
justify-self
| |||||||
| Generated and Replaced Content[spec 9] | |||||||
| CSS2 | quotes
|
8.0 | 12 | Yes | 412[w 15] | 3.4 | 1.0 |
content
|
9.0[t 14] | 1.9 | Partial | Yes | 2.7 | ||
counter-increment
|
8.0 | 1.8 | 525 | 3.4 | 1.0 | ||
counter-reset
|
8.0 | 1.8 | 525 | 3.4 | |||
| Lists[spec 10] | |||||||
| CSS2 | list-style
|
4.0 | 12 | 1.0 | 85 | Yes | 1.0 |
list-style-image
|
4.0 | 1.0 | 85 | Yes | |||
list-style-position
|
4.0 | 1.0 | 85 | Yes | |||
list-style-type
|
8.0 | 1.0 | 85 | 3.4 | |||
| Colors | |||||||
| CSS2 | color
|
3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
| css-color-3 | opacity
|
9.0[t 1] | 12 | 1.7 | 125 | 4.0 | 2.0 |
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Backgrounds | |||||||
| CSS2 | background
|
4.0 | 12 | 1.0 | 85 | Yes | 1.0 |
background-attachment
|
7.0 | ||||||
background-color
|
4.0 | ||||||
background-image
|
8.0 | ||||||
background-position
|
8.0 | ||||||
background-repeat
|
4.0 | ||||||
| css- backgrounds-3 |
background (multiple)
|
9.0[t 1] | 12 | 1.9.2 | 312 | 3.5 | 2.5 |
background-clip
|
2.0[g 20] | Yes[w 16] | Experimental | ||||
background-origin
| |||||||
background-size
|
Yes[w 17] | ||||||
| Early ideas for css- backgrounds-4 |
background-position-x
|
8.0[t 15] | 12 | No | Experimental | No | No |
background-position-y
| |||||||
| Fonts | |||||||
| CSS2 | font
|
4.0 | 12 | 1.0 | 85 | Yes | Incorrect |
font-family
|
4.0 | 1.0 | 85 | Yes | 1.0 | ||
font-size
|
3.0 | 1.0 | 85 | Yes | |||
font-style
|
4.0 | 1.0 | 85 | Yes | |||
font-variant
|
4.0 | 1.0 | 125 | Yes | |||
font-weight
|
8.0 | Partial | Partial | Yes | Incorrect | ||
| css-fonts-3 | font-size-adjust
|
10.0[t 16] | 12 | 1.9 | No[w 18] | No | No |
font-stretch
|
9.0[t 1] | 9.0[g 21] | No[w 19] | No | No | ||
font-feature-settings
|
10.0[t 17] | 34.0[2][g 22] | No[w 20] | No | No | ||
font-kerning
|
No | No | No | No | No | ||
font-language-override
|
No | No | No | No | |||
font-synthesis
|
No | No | No | No | |||
font-variant-alternates
|
No | No | No | No | |||
font-variant-caps
| |||||||
font-variant-east-asian
| |||||||
font-variant-ligatures
| |||||||
font-variant-numeric
| |||||||
font-variant-position
| |||||||
unicode-range
|
9.0[t 18] | 12 | 38.0[g 23] | No | No | No | |
| Text | |||||||
| CSS2 | text-align
|
4.0 | 12 | 1.0 | 85 | Yes | 1.0 |
text-decoration
|
Yes | 1.0 | 85 | Yes | |||
text-indent
|
3.0 | 1.0 | 85 | Yes | |||
text-transform
|
4.0 | 1.0 | 85 | Yes | |||
letter-spacing
|
4.0 | 1.0 | 85 | Yes | |||
word-spacing
|
8.0 | 1.0 | 85 | Yes | |||
white-space
|
8.0 | 1.9.1 | 522 | Yes | 2.1 | ||
| css-text-3 | word-break
|
Partial | Partial | 15.0[g 24] | No | No | No |
line-break
|
11.0 | 12 | No | No | No | No | |
hyphens
|
10.0[t 19] | 12 | 6.0[g 25] | Experimental | No | No | |
word-wrap
|
5.0 | 12 | 1.9.1 | 85 | 4.3 | 2.5 | |
overflow-wrap
|
No | No | No[g 26] | No | No | No | |
text-align-last
|
Partial | Partial | 12.0[g 27] | No[w 21] | No | No | |
text-justify
|
5.5 | 12 | No[g 28] | No | No | No | |
text-emphasis
|
No | No | No | No | No | No | |
hanging-punctuation
|
No | No | No | No[w 22] | No | No | |
| Early ideas for css- text-4 |
hyphenate-character
|
No | No | No | No | No | No |
hyphenate-limit-zone
|
10.0[t 20] | 12 | |||||
hyphenate-limit-chars
|
10.0[t 21] | 12 | |||||
hyphenate-limit-lines
|
10.0[t 22] | 12 | |||||
hyphenate-limit-last
|
No | No | |||||
text-space-collapse
| |||||||
text-spacing
| |||||||
text-wrap
| |||||||
| Text Decoration | |||||||
| css-text- decor-3 |
text-shadow
|
10.0[t 23] | 12 | 1.9.1 | Yes | 3.4 | 2.1 |
text-decoration-style
|
No | No | 36.0[g 29][g 30] | No[w 23] | No | No | |
text-decoration-color
|
No | No | No | No | |||
text-decoration-line
|
No | No | No | No | |||
text-decoration-skip
|
No | No | No | No | No | ||
text-underline-position
|
11.0 | 12 | No | No | No | No | |
text-emphasis-style
|
No | No | No | No | No | No | |
text-emphasis-color
| |||||||
text-emphasis
| |||||||
text-emphasis-position
| |||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Writing Modes | |||||||
| CSS2 | direction
|
5.0 | 12 | 1.0 | 85 | Yes | 1.0 |
unicode-bidi
|
5.0 | 1.0 | 525 | Yes | |||
| css- writing- modes-3 |
writing-mode
|
7.0[t 24] | 12 | No[g 31] | Nightly Build[w 24] | No | No |
text-combine-horizontal
|
11.0[t 25] | 12.0 | No | No | No | No | |
text-orientation
|
No | No | No | No | No | No | |
| Tables | |||||||
| CSS2 | border-collapse
|
8.0 | 12 | 1.0 | 125 | Yes | 1.0 |
border-spacing
|
8.0 | 1.0 | 125 | Yes | |||
caption-side
|
8.0 | 1.4 | 85 | Yes | |||
empty-cells
|
8.0 | 1.0 | 125 | Yes | |||
table-layout
|
5.0 | 1.0 | 85 | Yes | |||
| User interface | |||||||
| CSS2 | cursor
|
5.5 | 12 | 1.8 | 125 | Yes | Partial |
outline
|
8.0 | 1.8 | 125 | Yes | 1.0 | ||
outline-color
|
8.0 | 1.8 | 125 | Yes | |||
outline-style
|
8.0 | 1.8 | 125 | Yes | |||
outline-width
|
8.0 | 1.8 | 125 | Yes | |||
| css-ui-3 | outline-offset
|
No | No | 1.8 | 125 | 3.5 | 2.1 |
box-sizing
|
8.0 | 12 | 29.0[g 32] | Yes[w 25] | 3.3.2 | 1.0 | |
resize
|
No | No | 2.0[g 33] | 525 | No | No | |
appearance
|
No | 12 | Experimental | Experimental | No | No | |
icon
|
No | No | No | No | No | No | |
nav-index
|
No | No | No | No | 2.1 | ||
nav-up
|
No | No | No | No | |||
nav-right
|
No | No | No | No | |||
nav-down
|
No | No | No | No | |||
nav-left
|
No | No | No | No | |||
text-overflow
|
Partial | Partial | 7.0[g 34] | Partial | 3.5.6 | Experimental (Nightly)[p 3] | |
| Paged media | |||||||
| CSS2 | |||||||
page-break-before
|
4.0 | 12 | Partial | Partial | 3.5 | 1.0 | |
page-break-after
| |||||||
page-break-inside
|
8.0 | 19.0[g 35] | 312 | ||||
orphans
|
No[g 36] | ||||||
widows
| |||||||
| css-page-3 | page
|
No | No | No | No | No | No |
size
|
No | No[g 37] | No[w 26] | No | 1.0 | ||
image-orientation
|
No | 26.0[g 38] | No | No | No | ||
object-fit
|
No | 36.0[g 39] | No | No | 2.7[p 4] | ||
object-position
|
No | No | No | ||||
| Speech | |||||||
| css-speech-1 | cue
|
No | No | No[g 40] | No | No | 1.0 |
cue-after
| |||||||
cue-before
| |||||||
pause
| |||||||
pause-after
| |||||||
pause-before
| |||||||
speak
|
Nightly build[w 27] | ||||||
voice-family
|
No | ||||||
voice-balance
|
Experimental | ||||||
voice-duration
| |||||||
voice-pitch
| |||||||
voice-pitch-range
| |||||||
voice-rate
| |||||||
voice-stress
| |||||||
voice-volume
| |||||||
interpret-as
| |||||||
phonemes
| |||||||
rest
|
No | ||||||
rest-after
| |||||||
rest-before
| |||||||
mark
| |||||||
mark-after
| |||||||
mark-before
| |||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Media Queries | |||||||
| css3- mediaqueries |
width
|
9.0[t 26] | 12 | 1.9.1 | 525 | 4.1 | 2.0 |
height
| |||||||
device-width
| |||||||
device-height
| |||||||
device-aspect-ratio
| |||||||
color
|
2.5 | ||||||
color-index
| |||||||
monochrome
| |||||||
resolution
|
No | ||||||
orientation
|
4.2.1 | No | |||||
aspect-ratio
|
2.1 | ||||||
grid
|
11.0 | Yes | 4.1 | 2.5 | |||
scan
| |||||||
| Ruby characters | |||||||
| css-ruby-1 | ruby-position
|
No | No | 38.0[g 41] | No | No | No |
ruby-align
| |||||||
ruby-merge
|
No | ||||||
| Multi-column Layout | |||||||
| css- multicol-1 |
column-count
|
10.0[t 27] | 12 | Experimental[g 42] | Experimental | No | 2.8[p 5] |
column-width
| |||||||
column-gap
| |||||||
column-rule
| |||||||
columns
|
9.0[g 43] | ||||||
break-before
|
No[g 44] | Experimental[w 28] | |||||
break-after
| |||||||
break-inside
|
No[w 29] | ||||||
column-fill
|
14.0[g 45] | No | |||||
column-span
|
No[g 46] | Experimental[w 30] | |||||
| Grid layout | |||||||
| css- grid-1 |
grid
|
No | No | Experimental[g 47] | Experimental[w 31] | No | No |
grid-template
| |||||||
grid-template-columns
| |||||||
grid-template-rows
| |||||||
grid-template-areas
| |||||||
grid-auto-columns
| |||||||
grid-auto-rows
| |||||||
grid-auto-flow
| |||||||
grid-auto-position
| |||||||
grid-columns
|
10.0[t 28] | 12 | |||||
grid-columns-start
|
No | No | |||||
grid-columns-end
| |||||||
grid-row
|
10.0[t 29] | 12 | |||||
grid-row-start
|
No | No | |||||
grid-row-end
| |||||||
grid-area
| |||||||
| Animation | |||||||
| css- animations-1 | |||||||
animation
|
10.0[t 30] | 12 | 16.0[g 48] | Experimental | No | 2.12 | |
animation-delay
| |||||||
animation-direction
| |||||||
animation-duration
| |||||||
animation-iteration-count
| |||||||
animation-name
| |||||||
animation-play-state
| |||||||
animation-timing-function
| |||||||
animation-fill-mode
| |||||||
| Transforms | |||||||
| css- transforms- 1 | |||||||
transform
|
10.0[t 31] | 12 | 16.0 | Experimental | No | 2.12 | |
transform-origin
| |||||||
transform-style
|
No | ||||||
perspective
| |||||||
perspective-origin
| |||||||
backface-visibility
| |||||||
| Transitions | |||||||
| css- transitions-1 | |||||||
transition-property
|
10.0[t 32] | 12 | 16.0[g 49] | Experimental | No | Experimental | |
transition-duration
| |||||||
transition-timing-function
| |||||||
transition-delay
| |||||||
transition
| |||||||
| Flexible Box Layout | |||||||
| css- flexbox-1 | |||||||
flex
|
11.0 | 12 | 22.0[g 50] | 9.0[w 32] | No | 2.12 | |
flex-basis
|
No | ||||||
flex-direction
|
2.12 | ||||||
flex-flow
|
28.0 | No | |||||
flex-grow
|
22.0 | 2.12 | |||||
flex-shrink
|
No | ||||||
flex-wrap
|
28.0 | No | |||||
order
|
22.0 | 2.12 | |||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Regions | |||||||
| css- regions-1 | |||||||
flow-into
|
10.0[t 33] | 12 | No[g 51] | Nightly build | No | No | |
flow-from
| |||||||
region-fragment
|
No | No | |||||
break-before
|
No | No | |||||
break-after
| |||||||
break-inside
| |||||||
| Exclusions | |||||||
| css3- exclusions | |||||||
wrap-flow
|
10.0[t 34] | 12 | No[g 52] | Nightly build | No | No | |
wrap-through
| |||||||
| Shapes | |||||||
| css- shapes-1 | |||||||
shape-margin
|
No | No | No | Nightly build | No | No | |
shape-outside
|
No | ||||||
shape-image-threshold
| |||||||
| Masking | |||||||
| CSS2 | clip
|
8.0 | 12 | 1.0 | 85 | Yes | 1.0 |
| css- masking-1 | |||||||
clip-path
|
No | No | 1.9.1 | No | No | No | |
clip-rule
|
No | ||||||
mask
|
No | No | Partial | Partial | Partial | Partial | |
mask-box-image
|
No | No | No | Experimental | No | No | |
mask-box-image-outset
|
No | ||||||
mask-box-image-repeat
| |||||||
mask-box-image-slice
| |||||||
mask-box-image-source
| |||||||
mask-box-image-width
| |||||||
mask-clip
|
No | No | No | Experimental | No | No | |
mask-image
| |||||||
mask-origin
| |||||||
mask-position
| |||||||
mask-repeat
| |||||||
mask-size
| |||||||
mask-type
|
20.0 | No | |||||
| Compositing and Blending | |||||||
| compositing- 1 | |||||||
mix-blend-mode
|
No | No | 32.0 | No | No | No | |
isolation
|
36.0 | ||||||
background-blend-mode
|
30.0 | ||||||
| Filter Effects | |||||||
| filter- effects-1 | |||||||
filter
|
No | 13 | 35.0[g 53] | 18.0[w 33] | No | No | |
flood-color
|
No | No | No | ||||
flood-opacity
| |||||||
color-interpolation-filters
| |||||||
lighting-color
| |||||||
| Pointer events | |||||||
| SVG1.1 and earlier draft of css3-ui |
pointer-events
|
11.0 | 12.0 | 1.9.2 | 530 | No | 2.0 |
| pointer- events |
touch-action
|
11.0 | 12.0 | 29.0[g 54] | No | No | No |
| Line Grid | |||||||
| css-line- grid-1 | |||||||
box-snap
|
No | No | No | No | No | No | |
line-grid
| |||||||
line-slack
| |||||||
line-snap
| |||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
| Logical Properties | |||||||
| Early ideas for css- logical-1 | |||||||
block-size
|
No | No | 41.0[g 55] | No | No | No | |
inline-size
| |||||||
min-block-size
| |||||||
min-inline-size
| |||||||
max-block-size
| |||||||
max-inline-size
| |||||||
margin-block-start
| |||||||
margin-block-end
| |||||||
margin-inline-start
| |||||||
margin-inline-end
| |||||||
offset-block-start
| |||||||
offset-block-end
| |||||||
offset-inline-start
| |||||||
offset-inline-end
| |||||||
padding-block-start
| |||||||
padding-block-end
| |||||||
padding-inline-start
| |||||||
padding-inline-end
| |||||||
border-block-start-width
| |||||||
border-block-end-width
| |||||||
border-inline-start-width
| |||||||
border-inline-end-width
| |||||||
border-block-start-style
| |||||||
border-block-end-style
| |||||||
border-inline-start-style
| |||||||
border-inline-end-style
| |||||||
border-block-start-color
| |||||||
border-block-end-color
| |||||||
border-inline-start-color
| |||||||
border-inline-end-color
| |||||||
border-block-start
| |||||||
border-block-end
| |||||||
border-inline-start
| |||||||
border-inline-end
| |||||||
background-image-transform
|
No | ||||||
border-image-transform
| |||||||
| Will Change | |||||||
| css-will- change-1 |
will-change
|
No | No | 36.0 | No | No | No |
| CSSOM View | |||||||
| cssom- view |
scroll-behavior (optional[3])
|
No | No | 36.0 | No | No | No |
| Scroll Snap Points | |||||||
| Early ideas for css- snappoints |
scroll-snap-type
|
10.0 | 12 | 39.0[g 56] | No | No | No |
scroll-snap-points-x
| |||||||
scroll-snap-points-y
| |||||||
scroll-snap-destination
| |||||||
scroll-snap-coordinate
| |||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
inherit inherits the computation and recomputes it instead of inheriting the computed value.[t 35]none, block, inline, table-header-group, and table-footer-group are fully supported. Prior to 8.0, table are not supported, while inline-block is only supported on elements that are naturally inline.overflow: visible; is incorrectly supported. In 8.0, scroll makes the element's height equal to its max-height even if the content isn't that tall.[t 36] This has been fixed in IE9.visibility: collapse; is not supported. In 8.0, inline elements with visibility: visible; inside block elements with visibility: hidden; are not visible.[t 37]attr() values are not updated when the attribute changes.[t 38]transparent is not supported.hidden is not supported.dotted is rendered as dashed.z-index is only partially supported.[t 41] In 8.0, floating point values are accepted in addition to integers.[t 42]armenian, decimal-leading-zero, georgian, lower-greek, lower-latin, upper-latin are not supported.fixed was allowed on the body element only.text-align isn't inherited by :before and :after pseudo-elements.[t 47]pre is not supported. Prior to 8.0, white-space is only partially supported; pre-line and pre-wrap are not supported.[t 48]none value is unsupported prior to 1.9. This property also fails on any normal (non-pseudo-) elements, which it must support according to the CSS3 "Generated and Replaced Content Module" spec.pre-line is not supported prior to 1.9.1. Prior to 1.9, pre-wrap was only supported experimentally as -moz-pre-wrap.collapse is unsupported prior to 1.8.border-radius read "tl tr br bl" instead of the W3C's "tr br bl tl". When the border style is dotted or dashed, curves are rendered as solid instead.[g 57]always and auto values are supported.always and auto values are supported.pre-line and pre-wrap are unsupported.collapse is unsupported prior to 522. Its implementation has the same effect as hidden and is therefore not compliant.[w 35]none, open-quote, close-quote, no-open-quote, no-close-quote and normal values are unsupported. This property also fails on any normal (non-pseudo-) elements, which it must support according to the CSS3 "Generated and Replaced Content Module" spec.font-size property does not always accept the value 0, in "font-size: 0px" the text is still visible.scroll and auto are unsupported.always and auto values were supported.collapse has the same effect as hidden and is therefore not compliant.collapse was unsupported in table columns. On rows, it had the same effect as hidden and was therefore not compliant.cursor is ignored with dynamic pseudo-classes and custom cursors are unsupported.none value was unsupported.[p 6]inherit should not be allowed together with a font-size value. This should not be parsed, but it's currently done in Opera.| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | ||
|---|---|---|---|---|---|---|---|
| @counter-style | |||||||
| css- counter- styles- 3 |
additive-symbols
|
No | No | No[g 58] | No | No | No |
fallback
| |||||||
negative
| |||||||
pad
| |||||||
prefix
| |||||||
range
| |||||||
speak-as
| |||||||
suffix
| |||||||
symbols
| |||||||
system
| |||||||
| @font-face | |||||||
| css- fonts- 3 |
font-family
|
Yes | 12 | Yes | Yes | Yes | Yes |
font-feature-settings
| |||||||
font-stretch
|
No | No | No | ||||
font-style
|
Yes | Yes | Yes | ||||
font-variant
| |||||||
font-weight
|
Partial | Partial | Incorrect | ||||
src
|
Yes | Yes | Yes | ||||
unicode-range
|
36.0[g 59] | No | No | No | |||
| @viewport | |||||||
| css- device- adapt-1 |
height
|
10.0[t 50] | 12 | No | No | No | 2.7 |
max-height
|
No | No | No | ||||
min-height
| |||||||
width
|
10.0[t 51] | 12 | 2.7 | ||||
max-width
|
No | No | No | ||||
min-width
| |||||||
zoom
|
2.7 | ||||||
max-zoom
| |||||||
min-zoom
| |||||||
user-zoom
| |||||||
orientation
|
No | ||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | |||
|---|---|---|---|---|---|---|---|---|
| Numbers[spec 11] | ||||||||
| CSS2 | <number>
|
A floating-point number | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
<length>
|
<number> followed by units | |||||||
<percentage>
|
<number> followed by % | |||||||
<integer>
|
An integer | |||||||
| css-values-3 | <angle>
|
<number> angle-unit | 9.0[t 1] | 12 | Yes | Partial | Partial | Partial |
<time>
|
<number> time-unit | 2.0[g 49] | Yes | Yes | 2.5 | |||
<frequency>
|
<number> frequency-unit | No | No | No | No | |||
<fraction>
|
Remaining space | No | No | |||||
| Strings | ||||||||
| CSS2 | <string>
|
String | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
\code
|
Unicode escapes | 6.0 | ||||||
| Functions | ||||||||
| CSS2 | rect()
|
A rectangle | 8.0 | 12 | 1.0 | 85 | Yes | 1.0 |
url()
|
Uniform Resource Identifier | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 | |
counter()
|
8.0 | |||||||
attr()
|
Attribute identifier | |||||||
| css-values-3 | calc()
|
9.0[t 1] | 12 | 16.0[g 60] | Yes[w 36] | No | No | |
toggle()
|
Toggling between values | No | No | No[g 61] | No | No | No | |
| css- grid-1 ? |
repeat()
|
Repeat n times | No | No | 32.0[g 62] | No | No | No |
| Colors | ||||||||
| CSS2 | HTML4 color keywords | 16 predefined web colors | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
#rrggbb or #rgb
|
Hexadecimal notation | |||||||
rgb(r, g, b)
|
RGB notation | 4.0 | ||||||
system colors[spec 12]
|
28 predefined system colors | 3.0 | ||||||
| css-color-3 | SVG color keywords | 8.0 | 12 | Yes | Yes | Yes | Yes | |
currentColor
|
The value of the color property.
|
9.0[t 1] | 1.8 | 528 | Yes | 2.1 | ||
rgba(r, g, b, a)
|
RGBA notation | 1.9 | 525 | 4.0 | 2.2 | |||
hsl(h, s, l)
|
HSL notation | 1.5 | 3.5.5 | 2.1 | ||||
hsla(h, s, l, a)
|
HSLA notation | 1.9 | 3.5.5 | 2.2 | ||||
transparent
|
Full transparency | 9.0 | 1.9 | 4.0 | Partial | |||
| Image values | ||||||||
| CSS2 | <url>
|
Image types | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
| css- images-3 |
<sprite>
|
No | No | No | No | No | No | |
<image-list>
|
No | No | No | |||||
<linear-gradient>
|
10.0[t 52] | 12 | 16.0 | Yes | Experimental | |||
<radial-gradient>
| ||||||||
linear-gradient()
|
Color gradients | |||||||
radial-gradient()
| ||||||||
repeating-linear-gradient()
| ||||||||
repeating-radial-gradient()
| ||||||||
| css- images-4 |
conic-gradient()
|
No | No | No | No | No | No | |
repeating-conic-gradient()
|
||||||||
element()
|
Reproduce element | No | No | Experimental | No | No | No | |
cross-fade()
|
Transitioning between images | No | No | No[g 63] | No | No | No | |
image-set()
|
Resolution negotiation | No | No | No | No | No | No | |
| Counter Styles[spec 13] | ||||||||
| css- counter- styles-3 |
symbols()
|
Anonymous Counter Styles | No | No | No | No | No | No |
| Keywords | ||||||||
| CSS2 | auto
|
Automatically calculated | 6.0 | 12 | 1.0 | 85 | Yes | 1.0 |
inherit
|
Inherited from the parent | 8.0 | ||||||
| css-values-3 | initial
|
No | 13 | 19.0 | 125 | No | No | |
| Units | ||||||||
| CSS2 | px
|
Pixel | 3.0 | 12 | 1.0 | 85 | Yes | 1.0 |
pt
|
Point | |||||||
pc
|
Pica | |||||||
cm
|
Centimetre | |||||||
mm
|
Millimetre | |||||||
in
|
inch | |||||||
em
|
em | |||||||
ex
|
ex | |||||||
%
|
Percentage | |||||||
| css-values-3 | deg
|
Degree | 9.0[t 1] | 12 | 1.9.1 | Yes | Yes | 2.5 |
grad
|
Grad | |||||||
rad
|
Radian | |||||||
turn
|
turn | 13.0[g 64] | No | No | No | |||
ms
|
Millisecond | 2.0[g 65] | Yes | Yes | 2.5 | |||
s
|
Second | |||||||
Hz
|
Hertz | No | No | No | No | |||
kHz
|
Kilohertz | |||||||
dpi
|
Dots per inch | 12 | 1.9.1 | No | 4.1 | 2.5 | ||
dpcm
|
Dots per centimetre | |||||||
dppx
|
Dots per pixel-unit | 16.0 | No | ? | No | |||
| earlier draft of css-line- grid-1 |
gd
|
Cells in the layout-grid | No | No | No | No | No | |
| unit being considered for css- template- 3 |
fr
|
Remaining space in a series of length values | 12 | No | No | No | No | |
| css-values-3 | rem
|
the font size of the root element | 9.0[t 1] | 1.9.2 | Yes | No | 2.10.229[p 7] | |
vw
|
the viewport's width | 19.0[g 3] | 28.0[w 37] | No | No | |||
vh
|
the viewport's height | |||||||
vmin
|
equal to the smaller of ‘vw’ or ‘vh’. | No | ||||||
vmax
|
equal to the larger of ‘vw’ or ‘vh’. | |||||||
ch
|
the width of the "0" (ZERO, U+0030) glyph found in the font for the font size used to render. | No | 1.9.1 | No | No | No | ||
| Filter Effects | ||||||||
| filter- effects | ||||||||
grayscale()
|
No | 13 | 35.0[g 66] | 18.0[w 38] | No | No | ||
sepia()
|
||||||||
saturate()
|
||||||||
hue-rotate()
|
||||||||
invert()
|
||||||||
opacity()
|
||||||||
brightness()
|
||||||||
contrast()
|
||||||||
blur()
|
||||||||
drop-shadow()
|
||||||||
| Variables | ||||||||
| css- variables- 1 | ||||||||
--*
|
define variable | No | No | 31.0[g 67] | No | No | ||
var(--*)
|
use variable | |||||||
| MSHTML | EdgeHTML | Gecko | WebKit | KHTML | Presto | |||
CSS1 introduced the ‘transparent’ value for the background-color property. CSS2 allowed border-color to also accept the ‘transparent’ value. The Open eBook(tm) Publication Structure 1.0.1 [OEB101] extended the ‘color’ property to also accept the ‘transparent’ keyword. CSS3 extends the color value to include the ‘transparent’ keyword to allow its use with all properties that accept a <color> value. This simplifies the definition of those properties in CSS3.
turn unit is unsupported.rect() was not supported with the correct syntax using commas.auto does not work for margins, except table elements.transparent in the color property will render the text as black.transparent is not supported on borders (shows as solid black) and is ignored on PNG images.
Categories: [Cascading Style Sheets] [Browser engine comparisons]