Comparison of layout engines (Cascading Style Sheets)

From Wikipedia, the free encyclopedia

Jump to: navigation, search

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.

[edit] Explanation of the tables

[edit] 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 EngineUsed By
TridentInternet Explorer and other Internet Explorer shells (Windows operating systems only)
TasmanMac OS X versions of Internet Explorer and MSN
GeckoAll Mozilla software, including Firefox; SeaMonkey; Galeon; Camino; K-Meleon; Flock; also Epiphany-gecko
WebKitApple Safari; Google Chrome; Shiira; iCab 4; experimentally Epiphany; Adobe Air; Midori; OmniWeb; Adobe Dreamweaver CS4
KHTMLKonqueror
PrestoOpera; Opera Mobile, Nintendo DS Browser; Internet Channel; future Adobe Systems products
iCabiCab 1-3
Prince XMLPrince

[edit] 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.
ValueMeaning
YesIndicates that the layout engine fully supports this property/element when valid values are used.
NoIndicates that the property/element is completely ignored.
PartialIndicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly.
IncorrectIndicates that the property/element is understood, but that it is not implemented correctly in all cases.
ExperimentalIndicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy.
DroppedIndicates that the property/element is no longer supported.

[edit] 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.
TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
CSS17.001.085Yes7.0Yes1.0
CSS2.1MostlyPartialMostlyMostlyMostlyMostlyMostlyMostly
CSS3SlightSlightPartialPartialSlightPartialSlightSlight

[edit] Grammar and rules

TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
CSS2!importantWeight increasingIncorrect01.085Yes7.0YesYes
/*Comment*/Comments3.001.085Yes7.0YesYes
@importImport stylesheetIncorrect01.0YesYes7.0Yes2.1
@charsetCharacter set5.5 ?1.004.2.37.0YesYes
@mediaMedia-specific rulesIncorrect0.91.0YesYes7.03.05.1
@pageFor paged mediaIncorrectNoNoNoNo7.0No6.0
CSS3@namespaceNamespace declarationNoNo1.0YesYes8.0No5.0
@font-faceDefine fontIncorrectNo1.9.15254.310.0No6.0

[edit] 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.

[edit] 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.

[edit] 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.

[edit] Selectors

TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Element selectors
CSS2*Universal7.001.085Yes7.03.0Yes
EElement4.001.085Yes7.0YesYes
E.classClass7.0Incorrect1.085Yes7.0YesYes
E#idID4.001.085Yes7.0YesYes
CSS3ns|ENamespacedNoNo1.0YesYes8.0NoYes
Relationship selectors
CSS2E FDescendant4.001.085Yes7.0YesYes
E > FChild7.001.085Yes7.03.0Yes
E + FDirect adjacent7.001.085Yes7.03.0Yes
CSS3E ~ FIndirect adjacent7.00.91.74123.3.29.03.0Yes
Attribute selectors
CSS2E[attr]Has7.00.91.085Yes7.03.0Yes
E[attr="value"]Equals7.00.91.0YesYes7.03.0Yes
E[attr~="value"]Contains (space-separated)7.00.91.0YesYes7.03.0Yes
E[attr|="value"]Contains (hyphen-separated)7.00.91.0YesYes7.03.0Yes
CSS3E[attr^="value"]Begins with7.0No1.0Yes3.48.023.0Yes
E[attr$="value"]Ends with7.0No1.0Yes3.49.03.0Yes
E[attr*="value"]Contains substring7.0No1.0Yes3.49.03.0Yes
E[ns|attr]Namespaced7.0No1.0Yes3.49.0NoNo
Pseudo-classes
CSS2E:linkUnvisited hyperlink3.001.085Yes7.0Yes6.0
E:visitedVisited hyperlink3.001.085Yes7.0YesYes
E:activeActive8.001.085Yes7.0YesYes
E:hoverMouseoverIncorrect0.91.0419.3Yes7.03.0Yes
E:focusFocused8.001.0YesYes7.0YesYes
E:first-childFirst child7.001.085Yes7.03.0Yes
E:lang()Language8.001.25253.47.53.0Yes
@page:firstFirst page8.0NoNoNoNo7.0NoYes
@page:leftLeft page
@page:rightRight page
CSS3E:rootRoot9.00.11.0853.49.5NoYes
E:first-of-typeFirst child of type9.00.91.9.15253.49.5NoYes
E:last-childLast child9.00.91.05253.49.5NoYes
E:last-of-typeLast child of type9.00.91.9.15253.49.5NoYes
E:only-childOnly child9.00.91.85253.49.5NoYes
E:only-of-typeOnly child of type9.00.91.9.15253.49.5NoYes
E:nth-childNth child9.00.91.9.15253.49.5NoYes
E:nth-last-childNth last child9.00.91.9.15253.49.5NoYes
E:nth-of-typeNth child of type9.00.91.9.15253.49.5NoYes
E:nth-last-of-typeNth last child of type9.00.91.9.15253.49.5NoYes
E:targetTarget9.00.91.35253.4PartialNoNo
E:emptyEmpty9.00.91.84123.49.5NoYes
E:not()Negation9.00.91.0853.49.5NoYes
E:enabledEnabled state9.00.91.85253.49.0NoNo
E:disabledDisabled state9.00.91.85253.49.0NoNo
E:checkedChecked state9.0No1.05253.49.0NoNo
E:indeterminateIndeterminate stateNo0.91.9.2NoNoNoNoNo
E:defaultDefaultNoNo1.9528+4.39.0NoNo
E:validValidNoNo1.8528+No9.0NoNo
E:invalidInvalidNoNo1.8No9.0NoNo
E:in-rangeIn rangeNoNo1.8NoNo9.0NoNo
E:out-of-rangeOut of rangeNoNo1.8No9.0NoNo
E:requiredRequiredNoNoNo528+No9.0NoNo
E:optionalOptionalNoNoNo9.0NoNo
E:read-onlyRead-onlyNoNoExperimentalNo4.39.0NoNo
E:read-writeRead and writeNoNoNo4.39.0NoNo
Pseudo-elements
CSS2E:first-letterFirst letterIncorrect01.085Yes7.03.05.0
E:first-lineFirst lineIncorrect01.0PartialYes7.03.0No
E:beforeBefore8.0No1.9.185Yes7.03.0Yes
E:afterAfter8.0No1.9.185Yes7.03.0Yes
CSS3E::beforeDouble colon notation9.0No1.9.1853.47.0YesYes
E::afterDouble colon notation9.0No1.9.1853.47.0YesYes
E::first-letterDouble colon notation9.00.91.5853.47.0YesYes
E::first-lineDouble colon notation9.00.91.5Partial3.47.0YesNo
E::selectionSelectionNo0.9Experimental4123.49.5NoNo
TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML

[edit] Trident selector notes

  1. :active — Prior to 8.0, :active is only supported on anchor elements.
  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.

[edit] Tasman selector notes

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

[edit] Gecko selector notes

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

[edit] 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.

[edit] Presto selector notes

  1. :target — Style doesn't get applied when navigating using back and forward buttons.

[edit] Properties

TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Box Model
CSS2marginIncorrect01.085Yes7.03.0Yes
padding4.001.085Yes7.03.0Yes
width4.001.085Yes7.03.0Yes
height4.001.085Yes7.03.0Yes
float5.001.085Yes7.03.0Yes
clear5.001.085Yes7.0YesYes
display8.0PartialPartialIncorrectYes7.0PartialYes
min-width7.00.91.0416Yes7.03.05.0
max-widthIncorrect0.91.0416Yes7.03.05.0
min-height7.00.91.74163.3.27.03.05.0
max-heightIncorrect0.91.74163.3.27.03.05.0
clip8.00.91.085Yes7.03.05.0
overflowIncorrect01.0853.27.03.05.0
visibilityIncorrect0.91.8PartialPartialPartialPartial5.0
CSS3overflow-xIncorrectNo1.85253.5.69.5No5.0
overflow-yIncorrectNo1.85253.5.69.5No5.0
Borders
CSS2border4.001.085Yes7.03.03.0
border-color7.001.085Yes7.03.03.0
border-style8.001.085Yes7.03.03.0
border-width4.001.085Yes7.03.03.0
border-top5.501.085Yes7.03.03.0
border-top-width5.501.085Yes7.03.03.0
border-right5.501.085Yes7.03.03.0
border-right-width5.501.085Yes7.03.03.0
border-bottom5.501.085Yes7.03.03.0
border-bottom-width5.501.085Yes7.03.03.0
border-left5.501.085Yes7.03.03.0
border-left-width5.501.085Yes7.03.03.0
border-top-color4.001.085Yes7.03.03.0
border-top-style5.501.085Yes7.03.03.0
border-right-color4.001.085Yes7.03.03.0
border-right-style5.501.085Yes7.03.03.0
border-bottom-color4.001.085Yes7.03.03.0
border-bottom-style5.501.085Yes7.03.03.0
border-left-color4.001.085Yes7.03.03.0
border-left-style5.501.085Yes7.03.03.0
CSS3border-radius9.0NoExperimentalExperimental (528+)ExperimentalNoNo6.0
border-breakNoNoNoNoNoNoNoNo
border-imageNoNoExperimentalExperimentalNoNoNoNo
box-shadowNoNoExperimentalExperimentalNoNoNoNo
column reminderTridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Line Layout
CSS2line-height4.001.085Yes7.0Yes5.0
vertical-align8.001.085Yes7.03.06.0
Positioning
CSS2position7.001.085Yes7.03.05.0
top8.0Partial1.085Yes7.03.06.0
right8.0Partial1.085Yes7.03.06.0
bottom8.0Partial1.085Yes7.03.06.0
left8.0Partial1.085Yes7.03.06.0
z-indexIncorrectPartial1.985Yes7.03.06.0
Generated and Replaced Content
CSS2quotes8.00.91.8No3.47.03.05.0
contentIncorrectNo1.9PartialYesPartial3.05.0
counter-increment8.0No1.85253.47.03.05.0
counter-reset8.0No1.85253.47.03.05.0
Lists
CSS2list-style4.001.085Yes7.03.06.0
list-style-image4.001.085Yes7.03.06.0
list-style-position4.001.085Yes7.03.06.0
list-style-type8.001.0853.48.03.06.0
Colors
CSS2color3.001.085Yes7.0Yes5.0
CSS3opacityNoNo1.71254.09.0No6.0
column reminderTridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Backgrounds
CSS2backgroundIncorrect01.085Yes7.0Yes6.0
background-attachment7.001.085Yes7.0Yes5.0
background-color4.001.085Yes7.03.03.1
background-imageIncorrect01.085Yes7.0Yes6.0
background-position8.001.085Yes7.0Yes3.1
background-repeat4.001.085Yes7.0Yes3.1
CSS3background (multiple)NoNo1.9.23123.5NoNoNo
background-clipNoNoExperimentalExperimentalExperimentalNoNoNo
background-originNoNoExperimentalExperimentalExperimentalNoNoNo
background-breakNoNoNoNoNoNoNoNo
background-sizeNoNo1.9.2 (Experimental)ExperimentalExperimentalExperimentalNoNo
Fonts
CSS2fontIncorrect01.0PartialYesIncorrectYesYes
font-familyIncorrect01.085Yes7.0YesYes
font-size3.001.0PartialYes7.0Yes3.1
font-style4.001.085Yes7.0YesYes
font-variant4.001.0125Yes7.03.0Yes
font-weight8.00PartialPartialYesIncorrectIncorrectYes
CSS3font-size-adjustNoNo1.9NoNoNoNoNo
font-stretchNoNoNoNoNoNoIncorrect6.0
font-effectNoNoNoNoNoNoNoNo
font-smoothNoNoNoNoNoNoNoNo
font-emphasizeNoNoNoNoNoNoNoNo
column reminderTridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Text
CSS2text-alignIncorrect01.085Yes7.0PartialYes
text-decorationIncorrect01.085Yes7.03.03.1
text-indent3.001.085Yes7.0YesYes
text-transform4.001.0PartialYes7.0Yes6.0
letter-spacing4.001.085Yes7.0Yes5.
word-spacing8.0Partial1.085Yes7.0Yes5.0
white-spaceIncorrectPartial1.9.185Yes9.5Yes6.0
direction5.001.085Yes7.2No7.0
unicode-bidi5.001.0525Yes7.2No7.0
CSS3text-shadowNoNo1.9.1Yes3.49.53.0.3No
text-overflowPartialNoNoPartial3.5.6ExperimentalNoNo
word-breakPartialNoNoNoNoNoNoNo
text-wrapNoNoNoNoNoNoNoNo
word-wrap5.0No1.9.1854.3NoNoNo
text-align-lastPartialNoNoNoNoNoNoPartial
text-justify5.5NoNoNoNoNoNo6.0
punctuation-trimNoNoNoNoNoNoNoNo
text-emphasisNoNoNoNoNoNoNoNo
text-outlineNoNoNoNoNoNoNoNo
hanging-punctuationNoNoNoNoNoNoNoNo
Tables
CSS2border-collapse8.00.91.0125Yes7.03.05.1
border-spacing8.00.91.0125Yes7.03.06.0
caption-side8.00.91.485Yes7.0CSS2.15.0
empty-cells8.00.91.0125Yes7.0Incorrect5.0
table-layout5.001.085Yes7.03.06.0
User interface
CSS2cursorIncorrect01.8125YesPartial3.0Yes
outline8.001.8125Yes7.03.0No
outline-color8.001.8125Yes7.03.0No
outline-style8.001.8125Yes7.03.0No
outline-width8.001.8125Yes7.03.0No
CSS3outline-offsetNoNo1.81253.59.5NoNo
outline-radiusNoNoExperimentalNoNoNoNoNo
box-sizing8.00ExperimentalExperimental3.3.27.0No7.0
resizeNoNoNo525NoNoNoNo
appearanceNoNoExperimentalExperimentalNoNoNoNo
iconNoNoNoNoNoNoNoNo
nav-indexNoNoNoNoNo9.5NoNo
nav-upNoNoNoNoNo9.5NoNo
nav-rightNoNoNoNoNo9.5NoNo
nav-downNoNoNoNoNo9.5NoNo
nav-leftNoNoNoNoNo9.5NoNo
column reminderTridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Paged media
CSS2orphans8.0NoNo3123.57.0No6.0
page-break-after4.0NoPartialPartial3.57.0No6.0
page-break-before4.00PartialPartial3.57.0No6.0
page-break-inside8.0NoNo3123.57.0No6.0
widows8.0NoNo3123.57.0No6.0
CSS3pageNoNoNoNoNoNoNoYes
sizeNoNoNoNoNo7.0No6.0
image-orientationNoNoNoNoNoNoNoNo
fitNoNoNoNoNoNoNoNo
fit-positionNoNoNoNoNoNoNoNo
Speech
CSS3voice-volumeNoNoNoNoNoExperimentalNoNo
voice-balance
speak
pause
pause-after
pause-before
restNo
rest-before
rest-after
cueExperimental
cue-after
cue-before
markNo
mark-before
mark-after
voice-familyExperimental
voice-rate
voice-pitch
voice-pitch-range
voice-stress
voice-duration
phonemes
column reminderTridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
Media Queries
CSS3widthNoNo1.9.15254.19.0No ?
height5254.19.0 ?
device-width5254.19.0 ?
device-height5254.19.0 ?
orientationNo4.2.1 ? ?
aspect-ratioNoNo4.2.1 ? ?
device-aspect-ratio1.9.15254.19.0 ?
color5254.19.0 ?
color-index5254.19.0 ?
monochrome5254.19.0 ?
resolutionNo4.19.0 ?
scanNoNo4.1No ?
gridNoNo4.19.0 ?
Ruby characters
CSS3ruby-position5.00NoNoNoNoNoNo
ruby-align
ruby-overhang
ruby-spanNoNo
Multi-column Layout
CSS3column-countNoNoExperimentalExperimentalNoNoNoYes
column-width
column-gap
column-rule
columnsNo
column-break-beforeNo6.0
column-break-after
column-break-inside
column-fillNo
column-spanNoNo
Animation
CSS3
animationNoNoNoExperimentalNoNoNoNo
animation-delay
animation-direction
animation-duration
animation-iteration-count
animation-name
animation-play-state
animation-timing-function
2D Transforms
CSS3
transformNoNoExperimentalExperimentalNoNoNoNo
transform-origin
3D Transforms
CSS3
transformNoNoNoNoNoNoNoNo
transform-origin
transform-style
perspective
perspective-origin
backface-visibility
Transitions
CSS3
transition-propertyNoNo1.9.3 (Experimental)ExperimentalNoNoNoNo
transition-duration
transition-timing-function
transition-delay
transition
Flexible Box Layout
CSS3
box-alignNoNoExperimentalExperimentalNoNoNoNo
box-direction
box-flex
box-flex-group
box-lines
box-ordinal-group
box-orient
box-pack
Marquee
CSS3
marquee-directionNoNoNoNoNoNoNoNo
marquee-play-count
marquee-speed
marquee-style
overflow-style

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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.

[edit] Values and units

TridentTasmanGeckoWebKitKHTMLPrestoiCabPrince XML
NumbersCSS2<number>A floating-point number3.001.085Yes7.0Yes6.0
<length><number> followed by units3.001.085Yes7.0Yes6.0
<percentage><number> followed by %3.001.0YesYes7.0Yes6.0
<integer>An integer3.001.085Yes7.0YesYes
CSS3<angle><number> angle-unitNoNoPartialPartialPartialNoNoNo
<time><number> time-unit1.9.3YesYes
<frequency><number> frequency-unitYesYes
<fraction>Remaining spaceNoNoNo
StringsCSS2<string>String3.001.085Yes7.0YesYes
\codeUnicode escapes6.00.91.085Yes7.0YesYes
ShapesCSS2rect()A rectangle8.001.085Yes7.0YesYes
FunctionsCSS2url()Uniform Resource Identifier3.001.085Yes7.0YesYes
counter()8.0NoYesYesYesYes?Yes
attr()Attribute identifier8.0No1.0YesYes7.0YesYes
CSS3calc()NoNoNoNoNoNoNoNo
ColorsCSS2HTML4 color keywords16 predefined web colors3.001.085Yes7.0YesYes
#rrggbb or #rgbHexadecimal notation3.001.085Yes7.0YesYes
rgb(r,g,b)RGB notation4.001.085Yes7.0YesYes
system colors28 predefined system colors3.001.085Yes7.0YesYes
CSS3SVG color keywordsPartial?YesYesYesYes??
currentColorThe value of the ‘color’ property.NoNoYes528Yes9.5??
rgba(r,g,b,a)RGBA notationNoNo1.95254.010.0No6.0
hsl(h,s,l)HSL notationNoNo1.65253.5.59.5NoNo
hsla(h,s,l,a)HSLA notationNoNo1.95253.5.510.0NoNo
transparentFull transparencyPartial01.95254.010.0PartialPartial
linear-gradient()Color gradientsNoNo1.9.2 (Experimental)ExperimentalNoNoNoNo
radial-gradient()
repeating-linear-gradient()No
repeating-radial-gradient()
KeywordsCSS2autoAutomatically calculated6.001.085Yes7.0YesYes
inheritInherited from the parentIncorrect ?1.085Yes7.0YesYes
CSS3initialNoNoExperimental125NoNoNoNo
UnitsCSS2pxPixel3.001.085Yes7.0YesYes
ptPoint
pcPica
cmCentimetre
mmMillimetre
ininch
emem
exex
%Percentage
CSS3degDegreeNoNo1.9.1YesYesNoNoNo
gradGradYesYes
radRadianYesYes
turnturnNoNoNo
msMillisecond1.9.3YesYes
sSecondYesYes
HzHertzYesYes
kHzKilohertzYesYes
dpiDots per inchNoNo4.1
dpcmDots per centimetreNoNo4.1
dppxDots per pixel-unitNoNo?
gdCells in the layout-gridNoNoNo
frRemaining space in a series of length valuesNoNoNo
remthe font size of the root element1.9.2NoNo
vwthe viewport's widthNoNoNo
vhthe viewport's heightNo
vmthe viewport's height or width, whichever is smaller of the twoNo
chthe width of the "0" (ZERO, U+0030) glyph found in the font for the font size used to render.1.9.1NoNo

[edit] 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.

[edit] 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.

[edit] 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.

[edit] 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.

[edit] General notes

[edit] Gecko general notes

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

[edit] WebKit general notes

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

[edit] KHTML general notes

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

[edit] 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.

[edit] References

[edit] External links

  • WebDevout — mostly covers Windows browsers. Extensive bug testing.
  • QuirksMode — comprehensive but lacks latest versions.