Share on Facebook Share on Twitter Email
Answers.com

Comparison of layout engines

 
Wikipedia: Comparison of layout engines (Cascading Style Sheets)

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.

Layout Engine Used By
Trident Internet Explorer and other Internet Explorer shells (Windows operating systems only)
Tasman Mac OS X versions of Internet Explorer and MSN
Gecko All Mozilla software, including Firefox; SeaMonkey; Galeon; Camino; K-Meleon; Flock; also Epiphany-gecko
WebKit Apple Safari; Google Chrome; Shiira; iCab 4; experimentally Epiphany; Adobe Air; Midori; OmniWeb; Adobe Dreamweaver CS4
KHTML Konqueror
Presto Opera; Opera Mobile, Nintendo DS Browser; Internet Channel; future Adobe Systems products
iCab iCab 1-3
Prince XML Prince

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

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.

Trident Tasman Gecko WebKit KHTML Presto iCab Prince XML
CSS1 7.0 0 1.0 85 Yes 7.0 Yes 1.0
CSS2.1 Mostly Partial Mostly Mostly Mostly Mostly Mostly Mostly
CSS3 Slight Slight Partial Partial Slight Partial Slight Slight

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

  1. !important — !important doesn't override rules defined later in the same declaration block prior to IE7.
  2. @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.
  3. @import — Limited to 35 imported stylesheets, after that, rules stops applying.
  4. @font-face — Only supports Embedded OpenType (.eot) font format, does not understand the format() identifier.

Tasman grammar and rule notes

  1. @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

  1. @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.

Selectors

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

  1. :read-only and :read-write — Both Presto and KHTML handles the case of the contenteditable attribute incorrectly.

Trident selector notes

  1. :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.
  2. :hover — Prior to 7.0, :hover is only supported on anchor elements.
  3. .one.two — Only .two class selector was taken into consideration before 7.0.
  4. * — Prior to 7.0 this was treated as a single or no element.
  5. [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

  1. :hover — For anchor element only prior to 0.9.
  2. .one.two — only .two class selector is taken into consideration.

Gecko selector notes

  1. (:):before, (:):after — CSS2.0 behavior : some properties are unimplemented prior to 1.9.1. See Bug 237119 on Bugzilla.

WebKit selector notes

  1. :lang() — Only detected when explicitly present on element being tested, attribute not inherited.
  2. (:):first-linetext-transform doesn't apply with this pseudo-element. See Bug 3409 on Bugzilla.

Presto selector notes

  1. :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

  1. overflowoverflow:visible is incorrectly supported prior to IE7.
  2. border-stylehidden is not supported prior to IE8. dotted is rendered as dashed prior to IE7.
  3. box-shadow — Not supported. Trident supports similar functionality since 5.5 using the proprietary Shadow and DropShadow filters.
  4. cursor — Does not fail on non-prefixed vendor extensions.
  5. 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.
  6. position — Prior to IE7, fixed positioning was not supported. IE7 and later support it in standards-compliant mode only.
  7. visibility — Prior to IE8, collapse value is not supported.
  8. background-attachment — Prior to IE7, fixed was allowed on the body element only.
  9. opacity — isn't implemented. Trident supports a proprietary alternative (not understood by other layout engines) since IE5.5.
  10. background-position — Fixed positioning is not supported prior to version 8.0.
  11. border-colortransparent value is not supported prior to IE7.
  12. font-weightIncorrect rendering when value is 600 prior to version 8.0.
  13. text-decoration — Optional property blink is not supported.
  14. white-space — IE 5.5 only supports nowrap; IE6 and IE7 also support pre. IE8 supports all values.
  15. list-style-typearmenian, decimal-leading-zero, georgian, lower-greek, lower-latin, upper-latin are unsupported prior to IE8.

Gecko property notes

  1. displayrun-in is unsupported. inline-table and inline-block are supported in Gecko 1.9a2+.
  2. z-index — Negatives values are badly supported prior to 1.9.
  3. quotes — Does not support nested quotes prior to 1.8.
  4. contentnone value is unsupported prior to 1.9.
  5. background-position — Versions prior to 1.7 implement the CSS2 syntax, not the proposed CSS2.1 expanded syntax.
  6. font-size-adjust — Prior to 1.9, supported on Windows only.
  7. font-weight — Only Regular and Bold weights get used, even if Light or Heavy/Black faces are installed.
  8. white-spacepre-line is not supported prior to 1.9.1. Prior to 1.9, pre-wrap was only supported experimentally as -moz-pre-wrap.
  9. visibilitycollapse is unsupported prior to 1.8.
  10. 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.
  11. page-break-before; page-break-after — Only the always and auto values are supported.

WebKit property notes

  1. font — The system font keywords that allow designers to tailor presentation to the user's operating system environment are unsupported.
  2. font-weight — Only Regular and Bold weights get used, even if Light or Heavy/Black faces are installed.
  3. page-break-before; page-break-after — Only the always and auto values are supported.
  4. text-decoration — Optional property blink is unsupported.
  5. white-spacepre-line and pre-wrap are unsupported.
  6. visibilitycollapse is unsupported prior to 522. Its implementation has the same effect as hidden and is therefore not compliant.
  7. content — The none, open-quote, close-quote, no-open-quote, no-close-quote and normal values is unsupported.
  8. 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

  1. overflow — Values scroll and auto are unsupported.
  2. page-break-before; page-break-after — Before 3.5 only the always and auto values were supported.
  3. text-decoration — Optional property blink is not supported.
  4. visibility — All properties are supported, but the implementation of collapse has the same effect as hidden and is therefore not compliant.

Presto property notes

  1. counter-increment, counter-reset — Implemented the algorithm in REC CSS2.
  2. background-position — Presto versions prior to 8.0 implement the CSS2 syntax, not the proposed CSS2.1 expanded syntax.
  3. font-weightIncorrect rendering when value is 600. Renders the text in a compatibility mode for websites made for Trident.
  4. visibilitycollapse is unsupported in table columns. On rows, it has the same effect as hidden and is therefore not compliant.
  5. cursorcursor is ignored with dynamic pseudo-classes and custom cursors are unsupported.
  6. content — The none value is unsupported.
  7. font/font-sizeinherit 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

  1. displayrun-in is not supported.
  2. text-alignjustify is not supported.
  3. font-stretch — Simulated using letter-spacing property.
  4. font-weight — Incorrect (bold) rendering when value is 500.
  5. visibilitycollapse only partial.
  6. caption-sidetop and bottom only which would comply with the proposed CSS2.1 elimination of the values: left and right.
  7. empty-cells — Compresses hidden rows but does not hide them completely.

Values and units

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

  1. 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.

  2. <angle> — The turn unit is unsupported.

Trident value and unit notes

  1. rect() — Between versions 5.5 and 7.0, the correct syntax with commas was not supported. Version 8.0 implements clip:rect() correctly.
  2. auto — In IE5 bug emulation mode (quirks mode) does not work for margins, except table elements.
  3. 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

  1. <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

  1. <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.
  2. 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

  1. -moz- — All experimental selectors, properties and values are prefixed with "-moz-", e.g. ::-moz-selection instead of ::selection.

WebKit general notes

  1. -webkit- — All experimental selectors, properties and values are prefixed with "-webkit-", e.g. -webkit-box-shadow instead of box-shadow.

KHTML general notes

  1. -khtml- — All experimental selectors, properties and values are prefixed with "-khtml-", e.g. -khtml-opacity instead of opacity.

Presto general notes

  1. -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.

Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Comparison of layout engines (Cascading Style Sheets)" Read more