Welcome new readers! This Guide was first published in January 2003, and has since been updated for Safari beta 2, OmniWeb 4.5 and MSN for Mac OS X. Results for Gecko are for Camino 0.7 unless indicated otherwise. For more information about specific bugs and glitches in Mac browsers (Safari including version 1.1 and 1.2, OmniWeb, iCab), see the MacEdition Guide to CSS2 Support in Mac-only browsers. Please note that this page is only a summary. More specific information can be found in the previously mentioned MacEdition Guide for Mac-only browsers, and at Netscape Dev/Edge for other browsers. You may also be interested in the MacEdition Guides to CSS Support for Tables, CSS Bugs in IE5/Mac and CSS Crasher Bugs in Netscape 4.
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 | Windows IE 6 | MSN for Mac OS X | Mac IE 5 | Gecko | Opera 7 (see docs) | Safari 1.2 | Safari 1.0, Konqueror, OmniWeb 4.5 (see docs) | Omniweb 4.05 | OmniWeb 4.1 beta 2+ to 4.2 inclusive | iCab 2.6 and above |
---|---|---|---|---|---|---|---|---|---|---|
Form elements styled? | ok | ok | ok | ok | (NB Opera 6/Mac has only partial support) | P (some font-sizing) | No. Aqua styling | Not known | No. Aqua styling | P: See notes |
background | ok | OK | ok | ok | ok | OK | OK | D | Q | Glitches |
background-attachment | B | OK | ok | ok | ok | OK | OK (v.60+) | N | N | OK |
background-color | ok | OK | ok | ok | OK | OK | OK | P | Q | Q |
background-image | ok | OK | ok | ok | OK | OK | OK | Only Body | OK | OK |
background-position | ok | OK | ok | ok | OK | OK | OK | Only Body | Only Body | OK |
background-repeat | ok | OK | ok | ok | OK | OK | OK | Only Body | Q | OK |
border-collapse | ok | OK | N | ok | OK | OK | N | N | N | N |
border-spacing | N | OK | N | ok | OK | OK | N | N | N? | N |
border | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-bottom-color | ok | OK | ok | ok | OK | OK | OK | N | P | P |
border-bottom-style | OK. NB dotted is dashed | OK | ok | ok | OK | OK | OK | N | B | P |
border-bottom-width | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-color | ok | OK | ok | ok | OK | OK | OK | N | P | P |
border-left | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-left-color | ok | OK | ok | ok | OK | OK | OK | N | P | P |
border-left-style | OK. NB dotted is dashed | OK | ok | ok | OK | OK | OK | N | B | P |
border-left-width | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-right | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-right-color | ok | OK | ok | ok | OK | OK | OK | N | P | P |
border-right-style | OK. NB dotted is dashed | OK | ok | ok | OK | OK | OK | N | B | P |
border-right-width | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-style | OK. NB dotted is dashed | OK | ok | ok | OK | OK | OK | B | P | |
border-top | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-top-color | ok | OK | ok | ok | OK | OK | OK | N | P | P |
border-top-style | OK. NB dotted is dashed | OK | ok | ok | OK | OK | OK | N | B | P |
border-top-width | ok | OK | ok | ok | OK | OK | OK | N | B | P |
border-width | ok | OK | ok | ok | OK | OK | OK | N | P | P |
bottom | ok | OK | ok | ok | OK | OK | OK | B | N: no positioning | |
caption-side | OK | P (top/bottom only) | OK [Moz1.4+: see below] |
P | Q | N | N | N | ||
clear | ok | OK | q | ok | OK | OK | OK | N | OK | N |
clip | ok | OK | p | ok | OK | P | N | |||
color | OK | OK | OK | OK | OK | OK | OK | OK (but see background) | OK | OK |
content | N | N | N | OK | OK | OK | B | N | N | N |
counter-increment | n | N | n | n | OK | N | N | N | N | N |
counter-reset | n | N | n | n | OK | N | N | N | N | N |
cursor | ok | OK | ok | b | OK | N | N | N | N | |
direction | OK | N | N | OK | N | OK | OK | N | N | N |
display | P (not run-in ) |
p | p | P (not marker ) |
OK | P
|
P |
P | N | |
empty-cells | n | OK | n | ok | OK | OK | N | N | N | N |
float | OK | Q | Q | OK | OK | OK | OK | B | Q | B |
font | ok | OK | ok | ok | OK | OK | OK | OK | OK | OK |
font-family | ok | OK | ok | ok | OK | OK | OK | OK | OK | OK |
font-size | ok | OK | ok | ok | OK | OK | Q | Q | Q | OK |
font-size-adjust | n | N | n | N | N | N | N | N | N | N |
font-stretch | n | N | n | N | N | N | N | N | N | N |
font-style | ok | OK | ok | ok | ok | OK | OK | OK | OK | OK |
font-variant | ok | OK | ok | ok | ok | OK | P | N | N | N |
font-weight | ok | OK | ok | ok | ok | OK | OK | OK | OK | OK |
height | ok | OK | ok | ok | OK | OK | OK | B | B | |
left | ok | OK | ok | ok | OK | OK | OK | B | Q | N |
letter-spacing | ok | OK | ok | ok | OK | OK | OK | N | N | OK |
line-height | OK | OK | ok | ok | OK | OK | OK | P | B | OK |
list-style | OK | OK | OK | OK | N | N | P | |||
list-style-image | ok | OK | ok | ok | OK | OK | OK | N | N | N |
list-style-position | ok | OK | ok | ok | OK | OK | OK | N | N | Q |
list-style-type | p | p: only CSS1 values | p | b | p: only CSS1 values | OK | OK | N | N | P |
margin | ok | OK | ok | ok | OK | OK | OK | P | P | Q |
margin-bottom | Q (if neg) | OK | ok | ok | OK | OK | OK | P | Q | Q |
margin-left | ok | OK | ok | ok | OK | OK | OK | P | P | Q |
margin-right | ok | OK | ok | ok | OK | OK | OK | P | Q | Q |
margin-top | ok | OK | ok | ok | OK | OK | OK | P | Q | Q |
marker-offset | n | N | n | n | n | N | N | N? | N | |
max-height | n | OK | N | ok | OK | N | N | N | N | N |
max-width | n | OK | N | ok | OK | P | P | N | N | N |
min-height | ok | OK | N | ok | OK | N | N | N | N | N |
min-width | n | OK | n | ok | OK | P | P | N | N | N |
outline | n | OK | ok | P (form only) | OK | P | P | N | N | N |
outline-color | n | OK | ok | P | OK | P | P | N | N | N |
outline-style | n | OK | ok | P | OK | P | P | N | N | N |
outline-width | n | OK | ok | P | OK | P | P | N | N | N |
overflow | ok | Q | ok | ok | OK | P | N | N | ||
padding | OK | OK | ok | ok | ok | OK | OK | N | B | P |
padding-bottom | OK | OK | ok | ok | OK | OK | OK | N | B | P |
padding-left | OK | OK | ok | ok | OK | OK | OK | N | B | P |
padding-right | OK | OK | ok | ok | OK | OK | OK | N | B | P |
padding-top | OK | OK | ok | ok | OK | OK | OK | N | B | P |
position | Q (not fixed) | Q (whitespace bugs) | Q | ok | ok | OK | OK | D | D | N |
quotes | n | OK | n | P: not nested | N | N | N | N | N | |
right | ok | OK | ok | ok | OK | OK | ok | B | Q | N |
table-layout | ? | OK | ? | ? | OK | Ok? | OK? | N | N | Q |
text-align | ok | OK | ok | ok | OK | OK | OK | P | P | OK |
text-decoration | ok | OK | ok | ok | OK | OK | OK | P | P | OK |
text-indent | ok | OK | ok | ok | OK | OK | OK | N | B | OK |
text-shadow | n | N | n | N | N | OK | Version 1.1 only | N | N | N |
text-transform | OK | OK | ok | ok | ok | Q | Q | N | N | OK |
top | ok | OK | ok | ok | OK | OK | ok | B | N | |
unicode-bidi | OK | N | N | OK | N | N | N | N | N | N |
vertical-align | OK | OK | OK | OK | OK | OK | OK | Q | Q | N |
visibility | P: not collapse |
OK | P: not collapse |
P: not collapse |
P: not collapse |
P: collapse not complete | P: not collapse |
N | N | |
white-space | ok | OK | ok | ok | OK | Q | Q | Q | OK | |
width | ok | OK | ok | ok | OK | OK | ok | B | B | B |
word-spacing | ok | OK | ok | ok | OK | OK | OK | N | N | OK |
z-index | OK | OK | ok | ok | OK | OK | * | OK | N | |
Selectors | ||||||||||
Direct-child
selector (> ) |
N | OK | ok | ok | ok | OK | OK | D | D | N |
attribute selectors | N | OK | N | ok | ok | OK | OK | D | D | D |
Sibling selector (+) (test page) | N | OK | OK | OK | ok | OK | OK | D | D | N |
Multiple classes | OK | OK | OK | OK | ok | OK | OK | N | N | OK |
:first-line pseudoclass |
OK | OK | OK | OK | ok | OK | OK | N | N | N |
:first-letter pseudoclass | OK | OK | OK | OK | ok | OK | OK | N | N | N |
:first-child pseudoclass (CSS2) (test) | N | OK | OK | OK | ok | OK | OK | N | N | N |
:link, :visited pseudoclasses | OK | OK | OK | OK | ok | OK | OK | N | OK | OK |
:lang pseudoclass | N | OK | OK | OK | N | N | N | D | N | |
:hover pseudoclass | P: a elements only |
P: a elements only |
P: a elements only |
OK | ok | OK | OK | N | N | N |
Linking, importing and other features | ||||||||||
@import url("../file.css") | OK | OK | OK | OK | ok | OK | OK | OK | OK | OK |
@import url(../file.css); | OK | OK | OK | OK | ok | OK | OK | OK | OK | OK |
@import url(../hide1b.css) screen; | OK | OK | OK | OK | ok | OK | OK | OK | OK | OK |
@import "../hide2.css"; | OK | OK | OK | OK | ok | OK | OK | N | OK | OK |
media attributes | OK | OK | OK | OK | ok | OK | Q | N | N | |
@media rules | OK | OK | N | OK | ok | OK | OK | N | N | N |
Hiding methods (see also @import and selectors above): see dithered.com for more hiding methods | ||||||||||
Tantek box-model hack | OK | OK | OK | OK | ok | OK | OK | Q | Q | OK |
High-pass filter (including inline version) | OK | OK | OK | OK | ok | OK | Linked only in 1.0, ok in 1.1 | Q | B | |
Caio’s hack | OK | OK | OK | OK | ok | OK | OK | OK | OK | |
Be Mean to Opera Hack (test) | B | OK | OK | OK | ok | OK | B in 1.0, OK in 1.1 | B | B | |
Owen Hack (test) | B | OK | OK | OK | ok | OK | OK | B | B |
Caption-side
is fully supported by
Mozilla 1.4RC1 and above, but only top
and bottom
properties are supported by Camino 0.7.This page was compiled by CodeBitch and hosted by MacEdition, based on a compilation of other such support charts (Window IE, Mac IE, Gecko) and (for Mac-only browsers especially) analysis of the CSS1 and (some of the) CSS3 Selectors Test Suites provided by the W3C, CSS2 Test pages provided by Richinstyle and Eric Meyer, and CodeBitch’s own tests of CSS compatibility, with added information from pages provided by Johannes Koch, Albin.Net, Ian Hickson and David Baron. Lower-case codes indicate properties not personally verified by CodeBitch.
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. Thanks are due to Matt McIrvin, the rest of the MacEdition staff, and numerous dedicated web developers with Macs, who have sent comments, diagnoses and screenshots.
Last Modified: 11 February 2004 (11:45AM AEDST)