| Comparison Of Layout Engines (css) |
Article Index for Comparison Of |
Website Links For Comparison |
Information AboutComparison Of Layout Engines (css) |
|
The following tables compare CSS compatibility and support for a number of Layout Engine s. 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. Version number, if possible, is provided for feature that is fully supported (based on CSS2.1, unless it is a CSS3 feature). Proprietary extensions are not included. NB: Engine Nomenclature Trident is the layout engine used in Internet Explorer . Tasman is used in Internet Explorer For Mac , Gecko in all Mozilla software, WebCore provides the HTML layout engine for Mac OS X , KHTML for KDE , Presto for Opera and ICab is a browser for Apple Macintosh . GENERAL OVERVIEW GRAMMAR AND RULES Trident grammar and rule notes # @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, WebCore and iCab download all media stylesheets immediately, Opera only downloads handheld, print, projection and screen media. 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 selector notes # :hover — Prior to 7.0 Beta 2 Preview, :hover is for anchor element only.Tasman selector notes # :hover — For anchor element only. WebCore selector notes # :hover — Fails to trigger when over table rows which are outside a table cell's boundary or when over empty table cells. Fails to trigger when :link:hover or :visited:hover are used. (CSS2, :hover is not longer mutually exclusive with :link and :visited.)# :target — Style doesn't get applied when navigating using back and forward buttons. # :last-child — will trigger for every child element which matches the node selector chain prior to ':last-child'. # :only-child — behaves the same as :firstāchild.# ::''pseudo-element'' — Mistakenly also triggers on ::''pseudo-class'' on builds up to version 412.0 (subsequently fixed).Presto selector notes # preview — supported in Opera 9.0 Preview 1. PROPERTIES Trident property notes # border-style — dotted is rendered as dashed.# display — Only none, block, inline, table-header-group, and table-footer-group are supported.# position — Prior to 7.0 Beta 2, fixed positioning is not supported. # background-attachment — Prior to 7.0 Beta 2, fixed is for body element only.# background-position — Fixed positioning is not supported. # font-weight — Incorrect rendering when font-weight is 600 {Link without Title} .# text-decoration — blink is not supported.Gecko property notes # display — run-in inline-table [https://bugzilla.mozilla.org/show_bug.cgi?id=18217 , and inline-block [https://bugzilla.mozilla.org/show_bug.cgi?id=9458] are not supported.# quotes — Does not support nested quotes prior to 1.8 {Link without Title} . # content — Only works with :before and :after. Only support image . does not work prior to 1.8 {Link without Title} .# background-position — Problem handling a combination of keyword value and pixel or percentage value. {Link without Title} # font-size-adjust — Supported in Windows only {Link without Title} . # 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: [https://bugzilla.mozilla.org/show_bug.cgi?id=24998 [https://bugzilla.mozilla.org/show_bug.cgi?id=13944 WebCore property notes # cursor — Custom cursors are not supported. # font — The system fonts are not supported. # font-variant — All supported from version 85 except small-caps, which was added in version 125.# 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 are not supported.# text-shadow — Multiple shadows are not supported. # visibility — All supported except for collapse.KHTML property notes # khtml_overflow — Values scroll and auto are unsupported.# page-break-before; page-break-after — Before 3.5 only the always and auto values was 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 — Problem handling a combination of keyword value and pixel or percentage value. {Link without Title} # font-weight — Incorrect rendering when font-weight is 600 {Link without Title} .# white-space — pre-line is not supported.# visibility — All supported except for collapse.iCab property notes # display — run-in is not supported. # text-align — justify is not supported.# visibility — collapse only partial.# caption-side — top and bottom only.# empty-cells — Compresses hidden rows but does not hide them completely. CSS2 aural style sheets notes # The aural style sheets introduced in CSS2 are deprecated in CSS2.1 {Link without Title} . The only know software that supports CSS2 Aural is -based speech browser. The popular screen-reader JAWS does not respect Aural CSS instructions. The CSS3 Speech module reuses some, but not all, of the properties. VALUES AND UNITS Trident value and unit notes # auto — Does not work for margins.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.# em — Quantization error for values greater than 20.47em {Link without Title} . # % — Floating Point numbers are treated as integers when used in percentages. 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 (and proprietary) selectors, properties and values are prefixed with "-moz-", e.g. ::-moz-selection instead of ::selection {Link without Title} .WebCore general notes # -apple- — All proprietary selectors, properties and values are prefixed with "-apple-", e.g. -apple-aqua.KHTML general notes # -khtml- — All experimental (and proprietary) selectors, properties and values are prefixed with "-khtml-", e.g. -khtml-arabic-indic.Presto general notes # -o- — All proprietary selectors, properties and values are prefixed with "-o-", e.g. -o-replace.# -wap- — All proprietary selectors, properties and values for Wireless CSS are prefixed with "-wap-", e.g. -wap-accesskey.# -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-interpret-as instead of interpret-as.REFERENCES SEE ALSO
EXTERNAL LINKS
|
|
|