The following tables compare CSS compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Explanation of the tables
Engine nomenclature
Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.
Values
Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.
| Value |
Meaning |
| Yes |
Indicates that the layout engine fully supports this property/element when valid values are used. |
| No |
Indicates that the property/element is completely ignored. |
| Partial |
Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly. |
| Incorrect |
Indicates that the property/element is understood, but that it is not implemented correctly in all cases. |
| Experimental |
Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy. |
| Dropped |
Indicates that the property/element is no longer supported. |
CSS version support
|
|
This article is incomplete and may require expansion or cleanup. Please help to improve the article, or discuss the issue on the talk page. |
See the article Cascading Style Sheets for more information on the different versions of CSS. This table doesn't reference CSS2.0, as CSS2.1 was intended to replace it by correcting or removing a few errors and features rejected by the CSS community. Most of the removed CSS2 features will be made obsolete by CSS3.
Grammar and rules
|
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| CSS2 |
!important |
Weight increasing |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| /*Comment*/ |
Comments |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| @import |
Import stylesheet |
Incorrect |
0 |
1.0 |
Yes |
Yes |
7.0 |
Yes |
2.1 |
| @charset |
Character set |
5.5 |
? |
1.0 |
0 |
4.2.3 |
7.0 |
Yes |
Yes |
| @media |
Media-specific rules |
Incorrect |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
5.1 |
| @page |
For paged media |
Incorrect |
No |
No |
No |
No |
7.0 |
No |
6.0 |
| CSS3 |
@namespace |
Namespace declaration |
No |
No |
1.0 |
Yes |
Yes |
8.0 |
No |
5.0 |
| @font-face |
Define font |
Incorrect |
No |
1.9.1 |
525 |
4.3 |
10.0 |
No |
6.0 |
Trident grammar and rule notes
- !important — !important doesn't override rules defined later in the same declaration block prior to IE7.
- @import — Media type support is broken in versions prior to IE8. For @import <URL> <MEDIA>, IE requests as the URL "<URL> <MEDIA>" and will include url() and/or quotes in the URL, too, if present.
- @import — Limited to 35 imported stylesheets, after that, rules stops applying.
- @font-face — Only supports Embedded OpenType (.eot) font format, does not understand the format() identifier.
Tasman grammar and rule notes
- @font-face — Versions 5.16 and 5.17 will download fonts specified but not use them. 5.23 no longer downloads the font.
Presto grammar and rule notes
- @import — Whilst Gecko, WebKit and iCab download all media stylesheets immediately, Opera only downloads handheld, print, projection and screen media, as well as speech if "voice" feature is enabled and tv, on tv devices. Text browser emulation mode is only a user stylesheet, so it does not switch to tty media type. This is consistent with older text browsers, which do not respect any CSS.
|
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Element selectors |
| CSS2 |
* |
Universal |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| E |
Element |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| E.class |
Class |
7.0 |
Incorrect |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| E#id |
ID |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| CSS3 |
ns|E |
Namespaced |
No |
No |
1.0 |
Yes |
Yes |
8.0 |
No |
Yes |
| Relationship selectors |
| CSS2 |
E F |
Descendant |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| E > F |
Child |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| E + F |
Direct adjacent |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| CSS3 |
E ~ F |
Indirect adjacent |
7.0 |
0.9 |
1.7 |
412 |
3.3.2 |
9.0 |
3.0 |
Yes |
| Attribute selectors |
| CSS2 |
E[attr] |
Has |
7.0 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| E[attr="value"] |
Equals |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
Yes |
| E[attr~="value"] |
Contains (space-separated) |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
Yes |
| E[attr|="value"] |
Contains (hyphen-separated) |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
Yes |
| CSS3 |
E[attr^="value"] |
Begins with |
7.0 |
No |
1.0 |
Yes |
3.4 |
8.02 |
3.0 |
Yes |
| E[attr$="value"] |
Ends with |
7.0 |
No |
1.0 |
Yes |
3.4 |
9.0 |
3.0 |
Yes |
| E[attr*="value"] |
Contains substring |
7.0 |
No |
1.0 |
Yes |
3.4 |
9.0 |
3.0 |
Yes |
| E[ns|attr] |
Namespaced |
7.0 |
No |
1.0 |
Yes |
3.4 |
9.0 |
No |
No |
| Pseudo-classes |
| CSS2 |
E:link |
Unvisited hyperlink |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
6.0 |
| E:visited |
Visited hyperlink |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| E:active |
Active |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| E:hover |
Mouseover |
Incorrect |
0.9 |
1.0 |
419.3 |
Yes |
7.0 |
3.0 |
Yes |
| E:focus |
Focused |
8.0 |
0 |
1.0 |
Yes |
Yes |
7.0 |
Yes |
Yes |
| E:first-child |
First child |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| E:lang() |
Language |
8.0 |
0 |
1.2 |
525 |
3.4 |
7.5 |
3.0 |
Yes |
| @page:first |
First page |
8.0 |
No |
No |
No |
No |
7.0 |
No |
Yes |
| @page:left |
Left page |
| @page:right |
Right page |
| CSS3 |
E:root |
Root |
9.0 |
0.1 |
1.0 |
85 |
3.4 |
9.5 |
No |
Yes |
| E:not() |
Negation |
0.9 |
| 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 |
Partial |
No |
| E:enabled |
Enabled state |
1.8 |
9.0 |
| E:disabled |
Disabled state |
1.8 |
| E:checked |
Checked state |
No |
1.0 |
| E:indeterminate |
Indeterminate state |
No |
0.9 |
1.9.2 |
No |
No |
No |
| E:default |
Default |
No |
1.9 |
528+ |
4.3 |
9.0 |
| E:valid |
Valid |
1.8 |
528+ |
No |
| E:invalid |
Invalid |
| E:in-range |
In range |
No |
| E:out-of-range |
Out of range |
| E:required |
Required |
No |
528+ |
| E:optional |
Optional |
| E:read-only |
Read-only |
Experimental |
No |
Incorrect |
Incorrect |
| E:read-write |
Read and write |
| Pseudo-elements |
| CSS2 |
E:first-letter |
First letter |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
5.0 |
| E:first-line |
First line |
Partial |
No |
| E:before |
Before |
8.0 |
No |
1.9.1 |
85 |
Yes |
| E:after |
After |
| CSS3 |
E::before |
Double colon notation |
9.0 |
No |
1.9.1 |
85 |
3.4 |
7.0 |
Yes |
Yes |
| E::after |
Double colon notation |
| E::first-letter |
Double colon notation |
0.9 |
1.5 |
| E::first-line |
Double colon notation |
Partial |
No |
| E::selection |
Selection |
No |
Experimental |
412 |
9.5 |
No |
| |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
General selector notes
- :read-only and :read-write — Both Presto and KHTML handles the case of the
contenteditable attribute incorrectly.
Trident selector notes
- :active — Prior to 8.0,
:active is only supported on anchor elements. In 8.0, the behaviour will not work if a child element is active and the actual element isn't.
- :hover — Prior to 7.0,
:hover is only supported on anchor elements.
- .one.two — Only
.two class selector was taken into consideration before 7.0.
- * — Prior to 7.0 this was treated as a single or no element.
- [attr] — Matches every
td and th in a table when the attribute is colspan (regardless of whether any actually have a colspan attribute). This may not actually be a bug, as ambiguity exists in the specification.
Tasman selector notes
- :hover — For anchor element only prior to 0.9.
- .one.two — only
.two class selector is taken into consideration.
Gecko selector notes
- (:):before, (:):after — CSS2.0 behavior : some properties are unimplemented prior to 1.9.1. See Bug 237119 on Bugzilla.
WebKit selector notes
- :lang() — Only detected when explicitly present on element being tested, attribute not inherited.
- (:):first-line —
text-transform doesn't apply with this pseudo-element. See Bug 3409 on Bugzilla.
Presto selector notes
- :target — Style doesn't get applied when navigating using back and forward buttons.
Properties
|
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Box Model |
| CSS2 |
margin |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| padding |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| width |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| height |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| float |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Yes |
| clear |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| display |
8.0 |
Partial |
Partial |
Incorrect |
Yes |
7.0 |
Partial |
Yes |
| min-width |
7.0 |
0.9 |
1.0 |
416 |
Yes |
7.0 |
3.0 |
5.0 |
| max-width |
Incorrect |
0.9 |
1.0 |
416 |
Yes |
7.0 |
3.0 |
5.0 |
| min-height |
7.0 |
0.9 |
1.7 |
416 |
3.3.2 |
7.0 |
3.0 |
5.0 |
| max-height |
Incorrect |
0.9 |
1.7 |
416 |
3.3.2 |
7.0 |
3.0 |
5.0 |
| clip |
8.0 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
5.0 |
| overflow |
Incorrect |
0 |
1.0 |
85 |
3.2 |
7.0 |
3.0 |
5.0 |
| visibility |
Incorrect |
0.9 |
1.8 |
Partial |
Partial |
Partial |
Partial |
5.0 |
| CSS3 |
overflow-x |
Incorrect |
No |
1.8 |
525 |
3.5.6 |
9.5 |
No |
5.0 |
| overflow-y |
Incorrect |
No |
1.8 |
525 |
3.5.6 |
9.5 |
No |
5.0 |
| Borders |
| CSS2 |
border |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-color |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-style |
8.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-width |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-top |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-top-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-right |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-right-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-bottom |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-bottom-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-left |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-left-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-top-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-top-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-right-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-right-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-bottom-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-bottom-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-left-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| border-left-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.0 |
| CSS3 |
border-radius |
9.0 |
No |
Experimental |
Experimental (528+) |
Experimental |
No |
No |
6.0 |
| border-break |
No |
No |
No |
No |
No |
No |
No |
No |
| border-image |
No |
No |
Experimental |
Experimental |
No |
No |
No |
No |
| box-shadow |
No |
No |
Experimental |
Experimental |
No |
No |
No |
No |
| column reminder |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Line Layout |
| CSS2 |
line-height |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
5.0 |
| vertical-align |
8.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| Positioning |
| CSS2 |
position |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
5.0 |
| top |
8.0 |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| right |
8.0 |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| bottom |
8.0 |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| left |
8.0 |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| z-index |
Incorrect |
Partial |
1.9 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| Generated and Replaced Content |
| CSS2 |
quotes |
8.0 |
0.9 |
1.8 |
No |
3.4 |
7.0 |
3.0 |
5.0 |
| content |
Incorrect |
No |
1.9 |
Partial |
Yes |
Partial |
3.0 |
5.0 |
| counter-increment |
8.0 |
No |
1.8 |
525 |
3.4 |
7.0 |
3.0 |
5.0 |
| counter-reset |
8.0 |
No |
1.8 |
525 |
3.4 |
7.0 |
3.0 |
5.0 |
| Lists |
| CSS2 |
list-style |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| list-style-image |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| list-style-position |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| list-style-type |
8.0 |
0 |
1.0 |
85 |
3.4 |
8.0 |
3.0 |
6.0 |
| Colors |
| CSS2 |
color |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
5.0 |
| CSS3 |
opacity |
No |
No |
1.7 |
125 |
4.0 |
9.0 |
No |
6.0 |
| column reminder |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Backgrounds |
| CSS2 |
background |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
6.0 |
| background-attachment |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
5.0 |
| background-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.1 |
| background-image |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
6.0 |
| background-position |
8.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
3.1 |
| background-repeat |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
3.1 |
| CSS3 |
background (multiple) |
No |
No |
1.9.2 |
312 |
3.5 |
No |
No |
No |
| background-clip |
No |
No |
Experimental |
Experimental |
Experimental |
No |
No |
No |
| background-origin |
No |
No |
Experimental |
Experimental |
Experimental |
No |
No |
No |
| background-break |
No |
No |
No |
No |
No |
No |
No |
No |
| background-size |
No |
No |
1.9.2 (Experimental) |
Experimental |
Experimental |
Experimental |
No |
No |
| Fonts |
| CSS2 |
font |
Incorrect |
0 |
1.0 |
Partial |
Yes |
Incorrect |
Yes |
Yes |
| font-family |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| font-size |
3.0 |
0 |
1.0 |
Partial |
Yes |
7.0 |
Yes |
3.1 |
| font-style |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| font-variant |
4.0 |
0 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
Yes |
| font-weight |
8.0 |
0 |
Partial |
Partial |
Yes |
Incorrect |
Incorrect |
Yes |
| CSS3 |
font-size-adjust |
No |
No |
1.9 |
No |
No |
No |
No |
No |
| font-stretch |
No |
No |
No |
No |
No |
No |
Incorrect |
6.0 |
| font-effect |
No |
No |
No |
No |
No |
No |
No |
No |
| font-smooth |
No |
No |
No |
No |
No |
No |
No |
No |
| font-emphasize |
No |
No |
No |
No |
No |
No |
No |
No |
| column reminder |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Text |
| CSS2 |
text-align |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
Partial |
Yes |
| text-decoration |
Incorrect |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
3.1 |
| text-indent |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| text-transform |
4.0 |
0 |
1.0 |
Partial |
Yes |
7.0 |
Yes |
6.0 |
| letter-spacing |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
5. |
| word-spacing |
8.0 |
Partial |
1.0 |
85 |
Yes |
7.0 |
Yes |
5.0 |
| white-space |
Incorrect |
Partial |
1.9.1 |
85 |
Yes |
9.5 |
Yes |
6.0 |
| direction |
5.0 |
0 |
1.0 |
85 |
Yes |
7.2 |
No |
7.0 |
| unicode-bidi |
5.0 |
0 |
1.0 |
525 |
Yes |
7.2 |
No |
7.0 |
| CSS3 |
text-shadow |
No |
No |
1.9.1 |
Yes |
3.4 |
9.5 |
3.0.3 |
No |
| text-overflow |
Partial |
No |
No |
Partial |
3.5.6 |
Experimental |
No |
No |
| word-break |
Partial |
No |
No |
No |
No |
No |
No |
No |
| text-wrap |
No |
No |
No |
No |
No |
No |
No |
No |
| word-wrap |
5.0 |
No |
1.9.1 |
85 |
4.3 |
No |
No |
No |
| text-align-last |
Partial |
No |
No |
No |
No |
No |
No |
Partial |
| text-justify |
5.5 |
No |
No |
No |
No |
No |
No |
6.0 |
| punctuation-trim |
No |
No |
No |
No |
No |
No |
No |
No |
| text-emphasis |
No |
No |
No |
No |
No |
No |
No |
No |
| text-outline |
No |
No |
No |
No |
No |
No |
No |
No |
| hanging-punctuation |
No |
No |
No |
No |
No |
No |
No |
No |
| Tables |
| CSS2 |
border-collapse |
8.0 |
0.9 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
5.1 |
| border-spacing |
8.0 |
0.9 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
6.0 |
| caption-side |
8.0 |
0.9 |
1.4 |
85 |
Yes |
7.0 |
CSS2.1 |
5.0 |
| empty-cells |
8.0 |
0.9 |
1.0 |
125 |
Yes |
7.0 |
Incorrect |
5.0 |
| table-layout |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
6.0 |
| User interface |
| CSS2 |
cursor |
Incorrect |
0 |
1.8 |
125 |
Yes |
Partial |
3.0 |
Yes |
| outline |
8.0 |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
No |
| outline-color |
8.0 |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
No |
| outline-style |
8.0 |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
No |
| outline-width |
8.0 |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
No |
| CSS3 |
outline-offset |
No |
No |
1.8 |
125 |
3.5 |
9.5 |
No |
No |
| outline-radius |
No |
No |
Experimental |
No |
No |
No |
No |
No |
| box-sizing |
8.0 |
0 |
Experimental |
Experimental |
3.3.2 |
7.0 |
No |
7.0 |
| resize |
No |
No |
No |
525 |
No |
No |
No |
No |
| appearance |
No |
No |
Experimental |
Experimental |
No |
No |
No |
No |
| icon |
No |
No |
No |
No |
No |
No |
No |
No |
| nav-index |
No |
No |
No |
No |
No |
9.5 |
No |
No |
| nav-up |
No |
No |
No |
No |
No |
9.5 |
No |
No |
| nav-right |
No |
No |
No |
No |
No |
9.5 |
No |
No |
| nav-down |
No |
No |
No |
No |
No |
9.5 |
No |
No |
| nav-left |
No |
No |
No |
No |
No |
9.5 |
No |
No |
| column reminder |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Paged media |
| CSS2 |
orphans |
8.0 |
No |
No |
312 |
3.5 |
7.0 |
No |
6.0 |
| page-break-after |
4.0 |
No |
Partial |
Partial |
3.5 |
7.0 |
No |
6.0 |
| page-break-before |
4.0 |
0 |
Partial |
Partial |
3.5 |
7.0 |
No |
6.0 |
| page-break-inside |
8.0 |
No |
No |
312 |
3.5 |
7.0 |
No |
6.0 |
| widows |
8.0 |
No |
No |
312 |
3.5 |
7.0 |
No |
6.0 |
| CSS3 |
page |
No |
No |
No |
No |
No |
No |
No |
Yes |
| size |
No |
No |
No |
No |
No |
7.0 |
No |
6.0 |
| image-orientation |
No |
No |
No |
No |
No |
No |
No |
No |
| fit |
No |
No |
No |
No |
No |
No |
No |
No |
| fit-position |
No |
No |
No |
No |
No |
No |
No |
No |
| Speech |
| CSS3 |
voice-volume |
No |
No |
No |
No |
No |
Experimental |
No |
No |
| voice-balance |
| speak |
| pause |
| pause-after |
| pause-before |
| rest |
No |
| rest-before |
| rest-after |
| cue |
Experimental |
| cue-after |
| cue-before |
| mark |
No |
| mark-before |
| mark-after |
| voice-family |
Experimental |
| voice-rate |
| voice-pitch |
| voice-pitch-range |
| voice-stress |
| voice-duration |
| phonemes |
| column reminder |
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Media Queries |
| CSS3 |
width |
No |
No |
1.9.1 |
525 |
4.1 |
9.0 |
No |
? |
| height |
525 |
4.1 |
9.0 |
? |
| device-width |
525 |
4.1 |
9.0 |
? |
| device-height |
525 |
4.1 |
9.0 |
? |
| orientation |
No |
4.2.1 |
? |
? |
| aspect-ratio |
No |
No |
4.2.1 |
? |
? |
| device-aspect-ratio |
1.9.1 |
525 |
4.1 |
9.0 |
? |
| color |
525 |
4.1 |
9.0 |
? |
| color-index |
525 |
4.1 |
9.0 |
? |
| monochrome |
525 |
4.1 |
9.0 |
? |
| resolution |
No |
4.1 |
9.0 |
? |
| scan |
No |
No |
4.1 |
No |
? |
| grid |
No |
No |
4.1 |
9.0 |
? |
| Ruby characters |
| CSS3 |
ruby-position |
5.0 |
0 |
No |
No |
No |
No |
No |
No |
| ruby-align |
| ruby-overhang |
| ruby-span |
No |
No |
| Multi-column Layout |
| CSS3 |
column-count |
No |
No |
Experimental |
Experimental |
No |
No |
No |
Yes |
| column-width |
| column-gap |
| column-rule |
| columns |
No |
| column-break-before |
No |
6.0 |
| column-break-after |
| column-break-inside |
| column-fill |
No |
| column-span |
No |
No |
| Animation |
| CSS3 |
| animation |
No |
No |
No |
Experimental |
No |
No |
No |
No |
| animation-delay |
| animation-direction |
| animation-duration |
| animation-iteration-count |
| animation-name |
| animation-play-state |
| animation-timing-function |
| 2D Transforms |
| CSS3 |
| transform |
No |
No |
Experimental |
Experimental |
No |
No |
No |
No |
| transform-origin |
| 3D Transforms |
| CSS3 |
| transform |
No |
No |
No |
No |
No |
No |
No |
No |
| transform-origin |
| transform-style |
| perspective |
| perspective-origin |
| backface-visibility |
| Transitions |
| CSS3 |
| transition-property |
No |
No |
1.9.3 (Experimental) |
Experimental |
No |
No |
No |
No |
| transition-duration |
| transition-timing-function |
| transition-delay |
| transition |
| Flexible Box Layout |
| CSS3 |
| box-align |
No |
No |
Experimental |
Experimental |
No |
No |
No |
No |
| box-direction |
| box-flex |
| box-flex-group |
| box-lines |
| box-ordinal-group |
| box-orient |
| box-pack |
| Marquee |
| CSS3 |
| marquee-direction |
No |
No |
No |
No |
No |
No |
No |
No |
| marquee-play-count |
| marquee-speed |
| marquee-style |
| overflow-style |
Trident property notes
- overflow —
overflow:visible is incorrectly supported prior to IE7.
- border-style —
hidden is not supported prior to IE8. dotted is rendered as dashed prior to IE7.
- box-shadow — Not supported. Trident supports similar functionality since 5.5 using the proprietary Shadow and DropShadow filters.
- cursor — Does not fail on non-prefixed vendor extensions.
- display — Prior to IE8,
run-in and table are not supported, while inline-block is only supported on elements that are naturally inline. Prior to IE7, only none, block, inline, table-header-group, and table-footer-group are fully supported.
- position — Prior to IE7, fixed positioning was not supported. IE7 and later support it in standards-compliant mode only.
- visibility — Prior to IE8,
collapse value is not supported.
- background-attachment — Prior to IE7,
fixed was allowed on the body element only.
- opacity — isn't implemented. Trident supports a proprietary alternative (not understood by other layout engines) since IE5.5.
- background-position — Fixed positioning is not supported prior to version 8.0.
- border-color —
transparent value is not supported prior to IE7.
- font-weight — Incorrect rendering when value is 600 prior to version 8.0.
- text-decoration — Optional property
blink is not supported.
- white-space — IE 5.5 only supports
nowrap; IE6 and IE7 also support pre. IE8 supports all values.
- list-style-type —
armenian, decimal-leading-zero, georgian, lower-greek, lower-latin, upper-latin are unsupported prior to IE8.
Gecko property notes
- display —
run-in is unsupported. inline-table and inline-block are supported in Gecko 1.9a2+.
- z-index — Negatives values are badly supported prior to 1.9.
- quotes — Does not support nested quotes prior to 1.8.
- content —
none value is unsupported prior to 1.9.
- background-position — Versions prior to 1.7 implement the CSS2 syntax, not the proposed CSS2.1 expanded syntax.
- font-size-adjust — Prior to 1.9, supported on Windows only.
- font-weight — Only Regular and Bold weights get used, even if Light or Heavy/Black faces are installed.
- white-space —
pre-line is not supported prior to 1.9.1. Prior to 1.9, pre-wrap was only supported experimentally as -moz-pre-wrap.
- visibility —
collapse is unsupported prior to 1.8.
- border-radius — Prior to 1.9.1, border curves are circular, not elliptical as specified by the current CSS3 draft. Short-cut definitions for
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.
- page-break-before; page-break-after — Only the
always and auto values are supported.
WebKit property notes
- font — The system font keywords that allow designers to tailor presentation to the user's operating system environment are unsupported.
- font-weight — Only Regular and Bold weights get used, even if Light or Heavy/Black faces are installed.
- page-break-before; page-break-after — Only the
always and auto values are supported.
- text-decoration — Optional property
blink is unsupported.
- white-space —
pre-line and pre-wrap are unsupported.
- visibility —
collapse is unsupported prior to 522. Its implementation has the same effect as hidden and is therefore not compliant.
- content — The
none, open-quote, close-quote, no-open-quote, no-close-quote and normal values is unsupported.
- font-size — The
font-size property does not always accept the value 0, in "font-size: 0px" the text is still visible.
KHTML property notes
- overflow — Values
scroll and auto are unsupported.
- page-break-before; page-break-after — Before 3.5 only the
always and auto values were supported.
- text-decoration — Optional property
blink is not supported.
- visibility — All properties are supported, but the implementation of
collapse has the same effect as hidden and is therefore not compliant.
Presto property notes
- counter-increment, counter-reset — Implemented the algorithm in REC CSS2.
- background-position — Presto versions prior to 8.0 implement the CSS2 syntax, not the proposed CSS2.1 expanded syntax.
- font-weight — Incorrect rendering when value is 600. Renders the text in a compatibility mode for websites made for Trident.
- visibility —
collapse is unsupported in table columns. On rows, it has the same effect as hidden and is therefore not compliant.
- cursor —
cursor is ignored with dynamic pseudo-classes and custom cursors are unsupported.
- content — The
none value is unsupported.
- font/font-size —
inherit should not be allowed together with a font-size value. This should not be parsed, but it's currently done in Opera.
iCab property notes
- display —
run-in is not supported.
- text-align —
justify is not supported.
- font-stretch — Simulated using letter-spacing property.
- font-weight — Incorrect (bold) rendering when value is 500.
- visibility —
collapse only partial.
- caption-side —
top and bottom only which would comply with the proposed CSS2.1 elimination of the values: left and right.
- empty-cells — Compresses hidden rows but does not hide them completely.
|
Trident |
Tasman |
Gecko |
WebKit |
KHTML |
Presto |
iCab |
Prince XML |
| Numbers |
CSS2 |
<number> |
A floating-point number |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
6.0 |
| <length> |
<number> followed by units |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
6.0 |
| <percentage> |
<number> followed by % |
3.0 |
0 |
1.0 |
Yes |
Yes |
7.0 |
Yes |
6.0 |
| <integer> |
An integer |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| CSS3 |
<angle> |
<number> angle-unit |
No |
No |
Partial |
Partial |
Partial |
No |
No |
No |
| <time> |
<number> time-unit |
1.9.3 |
Yes |
Yes |
| <frequency> |
<number> frequency-unit |
Yes |
Yes |
| <fraction> |
Remaining space |
No |
No |
No |
| Strings |
CSS2 |
<string> |
String |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| \code |
Unicode escapes |
6.0 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| Shapes |
CSS2 |
rect() |
A rectangle |
8.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| Functions |
CSS2 |
url() |
Uniform Resource Identifier |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| counter() |
|
8.0 |
No |
Yes |
Yes |
Yes |
Yes |
? |
Yes |
| attr() |
Attribute identifier |
8.0 |
No |
1.0 |
Yes |
Yes |
7.0 |
Yes |
Yes |
| CSS3 |
calc() |
|
No |
No |
No |
No |
No |
No |
No |
No |
| Colors |
CSS2 |
HTML4 color keywords |
16 predefined web colors |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| #rrggbb or #rgb |
Hexadecimal notation |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| rgb(r,g,b) |
RGB notation |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| system colors |
28 predefined system colors |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| CSS3 |
SVG color keywords |
|
Partial |
? |
Yes |
Yes |
Yes |
Yes |
? |
? |
| currentColor |
The value of the ‘color’ property. |
No |
No |
Yes |
528 |
Yes |
9.5 |
? |
? |
| rgba(r,g,b,a) |
RGBA notation |
No |
No |
1.9 |
525 |
4.0 |
10.0 |
No |
6.0 |
| hsl(h,s,l) |
HSL notation |
No |
No |
1.6 |
525 |
3.5.5 |
9.5 |
No |
No |
| hsla(h,s,l,a) |
HSLA notation |
No |
No |
1.9 |
525 |
3.5.5 |
10.0 |
No |
No |
| transparent |
Full transparency |
Partial |
0 |
1.9 |
525 |
4.0 |
10.0 |
Partial |
Partial |
| linear-gradient() |
Color gradients |
No |
No |
1.9.2 (Experimental) |
Experimental |
No |
No |
No |
No |
| radial-gradient() |
| repeating-linear-gradient() |
No |
| repeating-radial-gradient() |
| Keywords |
CSS2 |
auto |
Automatically calculated |
6.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| inherit |
Inherited from the parent |
Incorrect |
? |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| CSS3 |
initial |
|
No |
No |
Experimental |
125 |
No |
No |
No |
No |
| Units |
CSS2 |
px |
Pixel |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Yes |
| pt |
Point |
| pc |
Pica |
| cm |
Centimetre |
| mm |
Millimetre |
| in |
inch |
| em |
em |
| ex |
ex |
| % |
Percentage |
| CSS3 |
deg |
Degree |
No |
No |
1.9.1 |
Yes |
Yes |
No |
No |
No |
| grad |
Grad |
Yes |
Yes |
| rad |
Radian |
Yes |
Yes |
| turn |
turn |
No |
No |
No |
| ms |
Millisecond |
1.9.3 |
Yes |
Yes |
| s |
Second |
Yes |
Yes |
| Hz |
Hertz |
Yes |
Yes |
| kHz |
Kilohertz |
Yes |
Yes |
| dpi |
Dots per inch |
No |
No |
4.1 |
| dpcm |
Dots per centimetre |
No |
No |
4.1 |
| dppx |
Dots per pixel-unit |
No |
No |
? |
| gd |
Cells in the layout-grid |
No |
No |
No |
| fr |
Remaining space in a series of length values |
No |
No |
No |
| rem |
the font size of the root element |
1.9.2 |
No |
No |
| vw |
the viewport's width |
No |
No |
No |
| vh |
the viewport's height |
No |
| vm |
the viewport's height or width, whichever is smaller of the two |
No |
| ch |
the width of the "0" (ZERO, U+0030) glyph found in the font for the font size used to render. |
1.9.1 |
No |
No |
General value and unit notes
- transparent —
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.
- <angle> — The
turn unit is unsupported.
Trident value and unit notes
- rect() — Between versions 5.5 and 7.0, the correct syntax with commas was not supported. Version 8.0 implements clip:rect() correctly.
- auto — In IE5 bug emulation mode (quirks mode) does not work for
margins, except table elements.
- transparent — In IE6, transparency is not supported on borders (shows as solid black) and is ignored on PNG images, this is fixed in IE 7.0. Using the transparent keyword in combination with the color property will render the text as black.
Gecko value and unit notes
- <ch> — Prior to version 1.9.1, uses the width of the "M" glyph instead of the width of the "0" glyph.
Presto value and unit notes
- <number> — Quantization error for values greater than 20.47 (not limited to em, try any non-pixel units). Seems to have been fixed in Opera 9.6.
- transparent — Keyword is ignored when used with the outline-color property. Prior to 10.0 it was also ignored when used with the color and text-shadow properties.
General notes
Gecko general notes
- -moz- — All experimental selectors, properties and values are prefixed with "-moz-", e.g.
::-moz-selection instead of ::selection.
WebKit general notes
- -webkit- — All experimental selectors, properties and values are prefixed with "-webkit-", e.g.
-webkit-box-shadow instead of box-shadow.
KHTML general notes
- -khtml- — All experimental selectors, properties and values are prefixed with "-khtml-", e.g.
-khtml-opacity instead of opacity.
Presto general notes
- -xv- — All new selectors, properties and values introduced by CSS3 Speech Module are prefixed with "-xv-" (but not found in CSS2 aural style sheets), e.g.
-xv-voice-rate instead of voice-rate.
References
External links
- WebDevout — mostly covers Windows browsers. Extensive bug testing.
- QuirksMode — comprehensive but lacks latest versions.
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)