Codebitch : Click to return to MacEdition homepage
 

MacEdition Guide to CSS3 Selector Support

This guide details browser support for features new in the proposed CSS3 standard. For information about CSS2 support, see the MacEdition Guide to CSS2 Support more information about specific bugs and glitches in Mac browsers (Safari, OmniWeb, iCab), see the MacEdition Guide to CSS2 Support in Mac-only browsers.

Code What it means
U Untested
OK OK: supported on all relevant tags.
P Partial: correctly implemented but only for subset of required elements or properties.
Q Quirky: works in most cases, but some odd bugs.
N Not supported: doesn't work, but doesn't destroy content either
B Buggy: works in ways that compromise the aesthetics.
D Destroyed: obscures or otherwise messes up content.
Property CSS Level Windows IE 6 MSN for Mac OS X Mac IE 5 Mozilla 1.4 / 1.5
Camino 0.7 / Netscape 7.02 Opera 7 (see docs) Safari 1.0, OmniWeb 4.5, Konqueror Safari 1.1
iCab 2.6 and above
:: syntax for pseudo-elements 3 Appears to work with supported properties eg first-line OK N Not in 1.4, fixed in 1.5
N Q: before and after but not first-line? B: incorrectly also supports :: for pseudo-classes like :link
N
Selector grouping 1 OK OK OK OK OK OK OK
OK
Type element 1 OK OK OK OK OK OK OK
OK
Universal selector 2 OK OK OK OK OK OK OK
OK
Omitted universal 2 OK OK OK OK OK OK OK
OK
Attribute existence 2 N OK N OK OK OK OK
D
Attribute value 2 N OK N OK OK OK OK
D
Attribute multivalue 2 N OK N OK OK OK OK
D
Attribute substrings 3 N OK N OK OK N OK
D
Attribute default values 2 N OK N OK OK OK OK
D
Class selector 1 OK OK OK OK OK OK OK
OK
Multiple classes 2 OK OK OK OK OK OK OK
OK
id selector 1 OK OK OK OK OK OK OK
OK
:link pseudoclass 1 OK OK OK OK OK OK OK
Q
:visited pseudoclass 1 OK OK OK OK OK OK OK
Q
:hover pseudoclass 2 P: a elements only OK P: a elements only Q (quirks on table rows) Q (quirks on table rows) OK Q (quirks on table rows)
N
:active pseudoclass 1 OK OK OK OK OK OK OK
Q
:focus pseudoclass 2 N OK OK OK OK P: works for forms, buggy support for links in combination with :hover Q (hard to get focus)
N
:target pseudoclass 3 N OK N OK N N OK
N
:lang() pseudoclass 2 N OK OK OK N N N
N
:enabled pseudoclass 3 N OK OK N N N N
N
:disabled pseudoclass 3 N OK OK N N N N
N
:checked pseudoclass 3 N N: checkboxes not styled N: checkboxes not styled N N N N
N
:root pseudoclass 3 N OK OK? OK OK N OK
N
:nth-child() pseudoclass 3 N OK N N N N N
N
:nth-last-child() pseudoclass 3 N OK N N N N N
N
:nth-of-type() pseudoclass 3 N OK N N N N N
N
:nth-last-of-type() pseudoclass 3 N OK N N N N N
N
:first-child pseudoclass 2 N OK OK OK OK OK OK
N
:last-child pseudoclass 3 N OK  N OK  OK N OK
N
:first-of-type pseudoclass 3 N OK N N N N N
N
:last-of-type pseudoclass 3 N OK N N N N N
N
:only-child pseudoclass 3 N OK N N N N N
N
:only-of-type pseudoclass 3 N OK N N N N N
N
::first-line pseudo-element 1 (3 for :: syntax) P (single : only) OK P (single : only) OK in 1.5, single : only in 1.4
P (single : only) P (single : only) OK
N
::first-letter pseudo-element 1 (3 for :: syntax) P (single : only) OK P (single : only) OK in 1.5, single : only in 1.4 P (single : only) P (single : only) OK
N
::selection pseudo-element 3 N OK N N  N N OK
N
::before 2 (3 for :: syntax) N N N OK in 1.5, single : only in 1.4 P (single : only) OK OK
N
::after 2 (3 for :: syntax) N  N N OK in 1.5, single : only in 1.4 P (single : only) OK OK
N
Descendant selector (eg p span) 1 OK OK OK OK OK OK OK
B in tables
Direct child (>) 2 N OK OK OK OK OK OK
N
Direct sibling (+) 2 N OK OK OK OK OK OK
N
Indirect adjacent (~) 3 N OK N N N N D: (p ~ p treated as p)
N
:not negation pseudo-class 3 N OK D: treated as selector without :not OK OK N OK
N
:contains() pseudo-class 3 N N N N N N N
N
:empty pseudo-class 3 N OK N Q (treats whitespace  as empty) Q (treats whitespace  as empty) N D: applies to non-empty elements?
N
:indeterminate pseudo-class 3 N OK N N N N N
N

Notes about the browsers and test pages

As well as testing for support of these selectors, the W3C Test Suite for CSS3 Selectors also includes tests of browsers’ ability to parse complex CSS rules.

About this page

This page was compiled by CodeBitch with help from Craig Saila (Windows IE, Opera 7) and Philippe Wittenbergh (Netscape 7), and hosted by MacEdition, based on the W3C Test Suite for CSS3 Selectors (HTML version).

No warranties are given on the correctness of this page, since this depends both on the correctness of the tests and correctness of my interpretation of the tests. All reasonable efforts have been made to ensure accuracy. Corrections, clarifications and updates for new versions of these browsers will be gratefully appreciated.

Last Modified: 19 October 2003 (10:15PM AEST) CodeBitch