include("../includes/design.php"); ?>
Comparison of layout engines (CSS)
$adtype = '468x60'; include ("../inc/ads.php"); ?>
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.
include ("links.php"); ?>
Meaning of 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 when valid values are used. |
No |
Indicates that this property is completely ignored. |
Partial |
Indicates that the property is understood, but that not all values are supported. Supported values are implemented correctly. |
Buggy |
Indicates that the property is understood, but that it is not implemented correctly in all cases. |
Experimental |
Indicates that the property is provided in experimental form under an alternative name, generally with only partial functionality. |
CSS version support
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 |
WebCore |
KHTML |
Presto |
iCab |
CSS2 |
important |
Weight increasing |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
/*Comment*/ |
Comments |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
@import |
Import stylesheet |
4.0 |
0 |
1.0 |
Yes |
Yes |
7.0 |
Yes |
@charset |
Character set |
5.5 |
? |
1.0 |
0 |
No |
7.0 |
Yes |
@media |
Media-specific rules |
5.5 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
@page |
For paged media |
5.5 |
No |
No |
No |
No |
7.0 |
No |
CSS3 |
@namespace |
Namespace declaration |
No |
No |
1.0 |
Yes |
Yes |
8.0 |
No |
@font-face |
Define font |
5.5 |
No |
No |
No |
No |
No |
No |
Trident grammar and rule notes
- @font-face Only supports Embedded OpenType (.eot) font format, does not understand the format() identifier.
- !important !important doesn't override rules defined later in the same declaration block prior to IE7.
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, WebCore 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.
Selectors
|
Trident |
Tasman |
Gecko |
WebCore |
KHTML |
Presto |
iCab |
Element selectors |
CSS2 |
* |
Universal |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E |
Element |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
E.class |
Class |
7.0 |
Buggy |
1.0 |
85 |
Yes |
7.0 |
Yes |
E#id |
ID |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
ns|E |
Namespaced |
No |
No |
1.0 |
No |
Yes |
8.0 |
No |
Relationship selectors |
CSS2 |
E F |
Descendant |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
E > F |
Child |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E + F |
Direct adjacent |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
CSS3 |
E ~ F |
Indirect adjacent |
7.0 |
0.9 |
1.7 |
412 |
3.3.2 |
9.0 |
3.0 |
Attribute selectors |
CSS2 |
E[attr] |
Has |
7.0 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E[attr="value"] |
Equals |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
E[attr~="value"] |
Contains (space-separated) |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
E[attr|="value"] |
Contains (hyphen-separated) |
7.0 |
0.9 |
1.0 |
Yes |
Yes |
7.0 |
3.0 |
CSS3 |
E[attr^="value"] |
Begins with |
7.0 |
No |
1.0 |
Yes |
3.4 |
8.02 |
3.0 |
E[attr$="value"] |
Ends with |
7.0 |
No |
1.0 |
Yes |
3.4 |
9.0 |
3.0 |
E[attr*="value"] |
Contains substring |
7.0 |
No |
1.0 |
Yes |
3.4 |
9.0 |
3.0 |
E[ns|attr] |
Namespaced |
No |
No |
1.0 |
No |
3.4 |
9.0 |
No |
Pseudo-classes |
CSS2 |
E:link |
Unvisited hyperlink |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
E:visited |
Visited hyperlink |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
E:active |
Active |
Partial |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
E:hover |
Mouseover |
7.0 |
0.9 |
1.0 |
419.3 |
Yes |
7.0 |
3.0 |
E:focus |
Focused |
No |
0 |
1.0 |
Yes |
Yes |
7.0 |
Yes |
E:first-child |
First child |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E:lang() |
Language |
No |
0 |
1.2 |
522 |
3.4 |
7.5 |
3.0 |
CSS3 |
E:root |
Root |
No |
0.1 |
1.0 |
85 |
3.4 |
9.5a |
No |
E:first-of-type |
First child of type |
No |
0.9 |
No |
522 |
3.4 |
9.5a |
No |
E:last-child |
Last child |
No |
0.9 |
1.0 |
Buggy |
3.4 |
9.5a |
No |
E:last-of-type |
Last child of type |
No |
0.9 |
No |
Buggy |
3.4 |
9.5a |
No |
E:only-child |
Only child |
No |
0.9 |
1.8 |
Buggy |
3.4 |
9.5a |
No |
E:only-of-type |
Only child of type |
No |
0.9 |
No |
Buggy |
3.4 |
9.5a |
No |
E:nth-child |
Nth child |
No |
0.9 |
No |
No |
3.4 |
9.5a |
No |
E:nth-last-child |
Nth last child |
No |
0.9 |
No |
No |
3.4 |
9.5a |
No |
E:nth-of-type |
Nth child of type |
No |
0.9 |
No |
No |
3.4 |
9.5a |
No |
E:nth-last-of-type |
Nth last child of type |
No |
0.9 |
No |
No |
3.4 |
9.5a |
No |
E:target |
Target |
No |
0.9 |
1.3 |
Partial |
3.4 |
9.5a |
No |
E:empty |
Empty |
No |
0.9 |
1.8 |
412 |
3.4 |
9.5a |
No |
E:not() |
Negation |
No |
0.9 |
1.0 |
85 |
3.4 |
9.5a |
No |
E:enabled |
Enabled state |
No |
0.9 |
1.8 |
522 |
3.4 |
9.0 |
No |
E:disabled |
Disabled state |
No |
0.9 |
1.8 |
522 |
3.4 |
9.0 |
No |
E:checked |
Checked state |
No |
No |
1.0 |
522 |
3.4 |
9.0 |
No |
E:indeterminate |
Indeterminate state |
No |
0.9 |
No |
No |
No |
No |
No |
E:default |
Default |
No |
No |
1.9 |
No |
No |
9.0 |
No |
E:valid |
Valid |
No |
No |
1.8 |
No |
No |
9.0 |
No |
E:invalid |
Invalid |
No |
No |
1.8 |
No |
No |
9.0 |
No |
E:in-range |
In range |
No |
No |
1.8 |
No |
No |
9.0 |
No |
E:out-of-range |
Out of range |
No |
No |
1.8 |
No |
No |
9.0 |
No |
E:required |
Required |
No |
No |
No |
No |
No |
9.0 |
No |
E:optional |
Optional |
No |
No |
No |
No |
No |
9.0 |
No |
E:read-only |
Read-only |
No |
No |
Experimental |
No |
No |
9.0 |
No |
E:read-write |
Read and write |
No |
No |
Experimental |
No |
No |
9.0 |
No |
Pseudo-elements |
CSS2 |
E:first-letter |
First letter |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E:first-line |
First line |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E:before |
Before |
No |
No |
1.0 |
85 |
Yes |
7.0 |
3.0 |
E:after |
After |
No |
No |
1.0 |
85 |
Yes |
7.0 |
3.0 |
CSS3 |
E::before |
Double colon notation |
No |
No |
1.5 |
85 |
3.4 |
7.0 |
Yes |
E::after |
Double colon notation |
No |
No |
1.5 |
85 |
3.4 |
7.0 |
Yes |
E::first-letter |
Double colon notation |
No |
0.9 |
1.5 |
85 |
3.4 |
7.0 |
Yes |
E::first-line |
Double colon notation |
No |
0.9 |
1.5 |
85 |
3.4 |
7.0 |
Yes |
E::selection |
Selection |
No |
0.9 |
Experimental |
412 |
3.4 |
No |
No |
E::value |
Double colon notation |
No |
No |
No |
No |
No |
No |
No |
E::choices |
Double colon notation |
No |
No |
No |
No |
No |
No |
No |
E::repeat-item |
Double colon notation |
No |
No |
No |
No |
No |
No |
No |
E::repeat-index |
Double colon notation |
No |
No |
No |
No |
No |
No |
No |
|
Trident |
Tasman |
Gecko |
WebCore |
KHTML |
Presto |
iCab |
Trident selector notes
- :active
:active is for anchor element only.
- :hover
:hover is applied for all elements only in standards-compliant mode, not quirks mode. Prior to 7.0, :hover is for anchor element only.
- .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.
Tasman selector notes
- :hover For anchor element only prior to 0.9.
- .one.two only
.two class selector is taken into consideration.
WebCore selector notes
- :lang() Only detected when explicitly present on element being tested, attribute not inherited.
- :target Style doesn't get applied when navigating using back and forward buttons.
- :last-child & :last-of-type will match all siblings, or all siblings of the same type, respectively.
- :only-child & :only-of-type identical behaviour to
:first-child & :first-of-type .
- ::pseudo-element Mistakenly also triggers on
::pseudo-class prior to version 416.0.
Properties
|
Trident |
Tasman |
Gecko |
WebCore |
KHTML |
Presto |
iCab |
Box model |
CSS2 |
margin |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
padding |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
width |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
height |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
float |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
clear |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
display |
Partial |
Partial |
Partial |
85 |
Yes |
7.0 |
Partial |
min-width |
7.0 |
0.9 |
1.0 |
416 |
Yes |
7.0 |
3.0 |
max-width |
7.0 |
0.9 |
1.0 |
416 |
Yes |
7.0 |
3.0 |
min-height |
7.0 |
0.9 |
1.7 |
416 |
3.3.2 |
7.0 |
3.0 |
max-height |
7.0 |
0.9 |
1.7 |
416 |
3.3.2 |
7.0 |
3.0 |
clip |
5.5 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
overflow |
7.0 |
0 |
1.0 |
85 |
3.2 |
7.0 |
3.0 |
visibility |
4.0 |
0.9 |
1.8 |
522 |
Partial |
Partial |
Partial |
CSS3 |
overflow-x |
7.0 |
No |
1.8 |
522 |
3.5.6 |
9.5a |
No |
overflow-y |
7.0 |
No |
1.8 |
522 |
3.5.6 |
9.5a |
No |
Borders |
CSS2 |
border |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-style |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-width |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-top |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-top-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-right |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-right-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-bottom |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-bottom-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-left |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-left-width |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-top-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-top-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-right-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-right-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-bottom-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-bottom-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-left-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
border-left-style |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
CSS3 |
border-radius |
No |
No |
Experimental |
Experimental |
Experimental |
No |
No |
border-break |
No |
No |
No |
No |
No |
No |
No |
border-image |
No |
No |
No |
Experimental |
No |
No |
No |
box-shadow |
No |
No |
No |
Experimental |
No |
No |
No |
Line Layout |
CSS2 |
line-height |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
vertical-align |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Positioning |
CSS2 |
position |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
top |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
right |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
bottom |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
left |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
z-index |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
3.0 |
Generated and Replaced Content |
CSS2 |
quotes |
No |
0.9 |
1.8 |
No |
3.4 |
7.0 |
3.0 |
content |
No |
No |
Partial |
85 |
Yes |
7.0 |
3.0 |
counter-increment |
No |
No |
1.8 |
522 |
3.4 |
7.0 |
3.0 |
counter-reset |
No |
No |
1.8 |
522 |
3.4 |
7.0 |
3.0 |
Lists |
CSS2 |
list-style |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
list-style-image |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
list-style-position |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
list-style-type |
Partial |
0 |
1.0 |
85 |
3.4 |
8.0 |
3.0 |
Colors |
CSS2 |
color |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
color-profile |
No |
No |
No |
No |
No |
No |
No |
opacity |
Non-Standard |
No |
1.7 |
125 |
Experimental |
9.0 |
No |
rendering-indent |
No |
No |
No |
No |
No |
No |
No |
Backgrounds |
CSS2 |
background |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
background-attachment |
7.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
background-color |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
background-image |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
background-position |
Partial |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
background-repeat |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
background (multiple) |
No |
No |
No |
312 |
3.5 |
No |
No |
background-clip |
No |
No |
Experimental |
Experimental |
Experimental |
No |
No |
background-origin |
No |
No |
Experimental |
Experimental |
Experimental |
No |
No |
background-break |
No |
No |
No |
No |
No |
No |
No |
background-size |
No |
No |
No |
Experimental |
Experimental |
Experimental |
No |
Fonts |
CSS2 |
font |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
font-family |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
font-size |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
font-style |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
font-variant |
4.0 |
0 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
font-weight |
Buggy |
0 |
Partial |
Partial |
Yes |
Buggy |
Buggy |
CSS3 |
font-size-adjust |
No |
No |
Partial |
No |
No |
No |
No |
font-stretch |
No |
No |
No |
No |
No |
No |
Buggy |
font-effect |
No |
No |
No |
No |
No |
No |
No |
font-smooth |
No |
No |
No |
No |
No |
No |
No |
font-emphasize |
No |
No |
No |
No |
No |
No |
No |
Text |
CSS2 |
text-align |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Partial |
text-decoration |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
text-indent |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
text-transform |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
letter-spacing |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
word-spacing |
Partial |
Partial |
1.0 |
85 |
Yes |
7.0 |
Yes |
white-space |
Partial |
Partial |
Partial |
85 |
Yes |
Partial |
Yes |
direction |
5.0 |
0 |
1.0 |
85 |
Yes |
7.2 |
No |
unicode-bidi |
5.0 |
0 |
1.0 |
522 |
Yes |
7.2 |
No |
CSS3 |
text-shadow |
No |
No |
No |
Partial |
3.4 |
9.5a |
3.0.3 |
text-overflow |
Partial |
No |
No |
Partial |
No |
Experimental |
No |
word-break |
Partial |
No |
No |
No |
No |
No |
No |
text-wrap |
No |
No |
No |
No |
No |
No |
No |
word-wrap |
5.0 |
No |
No |
85 |
No |
No |
No |
text-align-last |
Partial |
No |
No |
No |
No |
No |
No |
text-justify |
5.5 |
No |
No |
No |
No |
No |
No |
punctuation-trim |
No |
No |
No |
No |
No |
No |
No |
text-enphasis |
No |
No |
No |
No |
No |
No |
No |
text-outline |
No |
No |
No |
No |
No |
No |
No |
hanging-punctuation |
No |
No |
No |
No |
No |
No |
No |
Tables |
CSS2 |
border-collapse |
Partial |
0.9 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
border-spacing |
No |
0.9 |
1.0 |
125 |
Yes |
7.0 |
3.0 |
caption-side |
No |
0.9 |
1.4 |
85 |
Yes |
7.0 |
CSS2.1 |
empty-cells |
Partial |
0.9 |
1.0 |
125 |
Yes |
7.0 |
Buggy |
table-layout |
5.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
3.0 |
User interface |
CSS2 |
cursor |
5.5 |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
outline |
No |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
outline-color |
No |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
outline-style |
No |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
outline-width |
No |
0 |
1.8 |
125 |
Yes |
7.0 |
3.0 |
CSS3 |
outline-offset |
No |
No |
1.8 |
125 |
No |
9.5a |
No |
outline-radius |
No |
No |
Experimental |
No |
No |
No |
No |
box-sizing |
No |
0 |
Experimental |
522 |
3.3.2 |
7.0 |
No |
resize |
No |
No |
No |
522 |
No |
No |
No |
appearance |
No |
No |
Experimental |
Experimental |
No |
No |
No |
icon |
No |
No |
No |
No |
No |
No |
No |
nav-index |
No |
No |
No |
No |
No |
9.5 |
No |
nav-up |
No |
No |
No |
No |
No |
9.5 |
No |
nav-right |
No |
No |
No |
No |
No |
9.5 |
No |
nav-down |
No |
No |
No |
No |
No |
9.5 |
No |
nav-left |
No |
No |
No |
No |
No |
9.5 |
No |
Paged media |
CSS2 |
marks |
No |
No |
No |
No |
No |
7.0 |
No |
orphans |
No |
No |
No |
312 |
3.5 |
7.0 |
No |
page-break-after |
4.0 |
No |
Partial |
Partial |
3.5 |
7.0 |
No |
page-break-before |
4.0 |
0 |
Partial |
Partial |
3.5 |
7.0 |
No |
page-break-inside |
No |
No |
No |
312 |
3.5 |
7.0 |
No |
widows |
No |
No |
No |
312 |
3.5 |
7.0 |
No |
CSS3 |
page |
No |
No |
No |
No |
No |
No |
No |
size |
No |
No |
No |
No |
No |
7.0 |
No |
image-orientation |
No |
No |
No |
No |
No |
No |
No |
fit |
No |
No |
No |
No |
No |
No |
No |
fit-position |
No |
No |
No |
No |
No |
No |
No |
Speech |
CSS3 |
voice-volume |
No |
No |
No |
No |
No |
7.6 |
No |
voice-balance |
7.6 |
speak |
7.6 |
pause |
7.6 |
pause-after |
7.6 |
pause-before |
7.6 |
rest |
No |
rest-before |
No |
rest-after |
No |
cue |
7.6 |
cue-after |
7.6 |
cue-before |
7.6 |
mark |
No |
mark-before |
No |
mark-after |
No |
voice-family |
7.6 |
voice-rate |
7.6 |
voice-pitch |
7.6 |
voice-pitch-range |
7.6 |
voice-stress |
7.6 |
voice-duration |
7.6 |
phonemes |
7.6 |
Media Queries |
CSS3 |
width |
No |
No |
No |
522 |
No |
9.0 |
No |
height |
522 |
9.0 |
device-width |
522 |
9.0 |
device-height |
522 |
9.0 |
device-aspect-ratio |
522 |
9.0 |
color |
522 |
9.0 |
color-index |
522 |
9.0 |
monochrome |
522 |
9.0 |
resolution |
No |
9.0 |
scan |
No |
No |
grid |
No |
9.0 |
Ruby characters |
CSS3 |
ruby-position |
5.0 |
0 |
No |
No |
No |
No |
No |
ruby-align |
5.0 |
0 |
ruby-overhang |
5.0 |
0 |
ruby-span |
No |
No |
Multi-column Layout |
CSS3 |
column-break-before |
No |
No |
Experimental |
Experimental |
No |
No |
No |
column-break-after |
Experimental |
Experimental |
column-break-inside |
Experimental |
Experimental |
column-count |
Experimental |
Experimental |
column-gap |
Experimental |
Experimental |
column-rule |
No |
No |
columns |
Experimental |
Experimental |
Trident property notes
- overflow
overflow:visible is incorrectly supported prior to IE7.
- border-style
dotted is rendered as dashed prior to IE7.
- display Only
none , block , inline , table-header-group , and table-footer-group are supported prior to 7.0. In 5.5+, inline-block is supported on elements that are naturally inline.
- position Prior to IE 7, fixed positioning was not supported, IE 7 supports it in standards-compliant mode only.
- background-attachment Prior to IE 7,
fixed was allowed on the body element only.
- background-position Fixed positioning is not supported.
- font-weight Incorrect rendering when value is 600 .
- text-decoration Optional property
blink is not supported.
- white-space
nowrap is supported in IE 5.5 and later. pre is supported in IE 6 and later in standards-compliant mode. pre-line and pre-wrap are not supported.
- list-style-type
decimal-leading-zero , lower-greek , lower-latin , upper-latin , upper-roman are not supported.
Gecko property notes
- display
run-in is not supported. inline-table and inline-block are supported in Gecko 1.9a2+.
- quotes Does not support nested quotes prior to 1.8 .
- content Only works with
:before and :after . Only support image <uri> . <counter> does not work prior to 1.8 .
- background-position Gecko versions prior to 1.7 implement the CSS2 syntax, not the proposed CSS2.1 expanded syntax.
- font-size-adjust Supported in Windows only. This problem will be fixed in the future Gecko 1.9.
- 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. pre-wrap is only supported experimentally as -moz-pre-wrap ;.
- visibility
collapse is not supported prior to 1.8.
- border-radius border curves are circular, but the W3C specs define them as elliptical. Dashed curves are not available. Short-cut definitions for
border-radius read "tl tr br bl" instead of the W3C's "tr br bl tl". Interesting bugs:
- page-break-before; page-break-after Only the
always and auto values are supported.
WebCore property notes
- box-shadow The system font keywords are not supported that allow designers to tailor presentation to the users operating system environment.
- font The system font keywords are not supported that allow designers to tailor presentation to the users operating system environment.
- 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 not supported.
- white-space
pre-line and pre-wrap from the proposed CSS2.1 draft are not supported.
- text-shadow Multiple shadows are not supported.
- visibility
collapse is not supported prior to 522.
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 supported except for
collapse .
Presto property notes
- list-style-type The CSS2 values are not supported prior to 8.0.
- 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 .
- white-space
pre-line is not supported prior to Opera 9.5.
- visibility All supported except for
collapse .
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.
Values and units
|
Trident |
Tasman |
Gecko |
WebCore |
KHTML |
Presto |
iCab |
Numbers |
CSS2 |
<number> |
A floating-point number |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
<length> |
<number> followed by units |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
<percentage> |
<number> followed by % |
3.0 |
0 |
1.0 |
Imprecise |
Yes |
7.0 |
Yes |
<integer> |
An integer |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
<angle> |
<number> angle-unit |
No |
No |
No |
Yes |
Yes |
No |
No |
<time> |
<number> time-unit |
Yes |
Yes |
<frequency> |
<number> frequency-unit |
Yes |
Yes |
Strings |
CSS2 |
<string> |
String |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
\code |
Unicode escapes |
6.0 |
0.9 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Shapes |
CSS2 |
rect() |
A rectangle |
5.5 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
Functions |
CSS2 |
url() |
Uniform Resource Identifier |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
counter() |
|
No |
No |
Yes |
? |
? |
Yes |
? |
attr() |
Attribute identifier |
No |
No |
1.0 |
Yes |
Yes |
7.0 |
Yes |
CSS3 |
calc() |
|
No |
No |
? |
? |
? |
? |
? |
Colors |
CSS2 |
color names |
16 predefined web colors |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
#rrggbb or #rgb |
Hexadecimal notation |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
rgb(r,g,b) |
RGB notation |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
system colors |
28 predefined system colors [14] |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
transparent |
Full transparency |
4.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
rgba(r,g,b,a) |
RGBA notation |
No |
No |
1.9 |
522 |
Buggy |
No |
No |
hsl(h,s,l) |
HSL notation |
No |
No |
Yes |
522 |
3.5.5 |
No |
No |
hsla(h,s,l,a) |
HSLA notation |
No |
No |
1.9 |
522 |
3.5.5 |
No |
No |
Keywords |
CSS2 |
auto |
Automatically calculated |
6.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
inherit |
Inherited from the parents |
No |
? |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
initial |
|
No |
No |
Experimental |
No |
No |
No |
No |
Units |
CSS2 |
px |
Pixel |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
pt |
Point |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
pc |
Pica |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
cm |
Centimetre |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
mm |
Millimetre |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
in |
inch |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
em |
em |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
ex |
ex |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
% |
Percentage |
3.0 |
0 |
1.0 |
85 |
Yes |
7.0 |
Yes |
CSS3 |
deg |
Degree |
No |
No |
No |
Yes |
Yes |
No |
No |
grad |
Grad |
Yes |
Yes |
rad |
Radian |
Yes |
Yes |
ms |
Millisecond |
Yes |
Yes |
s |
Second |
Yes |
Yes |
Hz |
Hertz |
Yes |
Yes |
kHz |
Kilohertz |
Yes |
Yes |
turn |
turn |
No |
No |
gd |
gd |
No |
No |
rem |
rem |
No |
No |
vw |
vw |
No |
No |
vh |
vh |
No |
No |
vm |
vm |
No |
No |
ch |
ch |
No |
No |
Trident value and unit notes
- auto In IE5 bug emulation mode (quirks mode) does not work for
margin s, except table elements.
WebCore value and unit notes
- <percentage> Only uses the integer component of <number>.
Presto value and unit notes
- attr() As all URI attribute values are resolved to full URI, the value could be wrong if
attr() is used on an attribute that contains relative URI.
- <number> Quantization error for values greater than 20.47 [15] (not limited to em, try any non pixel units).
KHTML value and unit notes
- rgba() Because
opacity is not supported, the opacity value of rgba() is ignored.
General notes
Gecko general notes
- -moz- All experimental selectors, properties and values are prefixed with "-moz-", e.g.
::-moz-selection instead of ::selection .
WebCore 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
CSS Compatibility Tables
- WebDevout mostly covers Windows browsers. Extensive bug testing.
- QuirksMode comprehensive but lacks latest versions.
- Westciv abridged form of their retail guide.
- MacEdition covers many Mac browsers, including rare and discontinued ones.
- Jesset simple table without bug details, includes WebTV.
- Motohiko covers Firefox only. [Japanese]
Other links
include("../includes/footer.php"); ?>
|