This page only includes information on CSS support in pre-WebCore versions of OmniWeb, that is, 4.2 and below, plus an early “sneaky peak” (pre-beta) release of version 4.5. For more detailed information about particular aspects of these charts, see the Notes on Pre-WebCore OmniWeb. For OS X-only browsers that are currently being distributed – Safari 1.0 and 1.1, OmniWeb 4.5, iCab 2.6 and above (current version 2.9.5) and Mac IE 5.2.x – see the MacEdition Guide to CSS Support in Mac-only Browsers.
Since these older versions of OmniWeb are no longer being distributed, this Guide will not be updated.
See also: Abridged version including OmniWeb 4.1 beta 1, Windows IE6, Mac IE5, MSN for Mac OS X, Opera 7 for Windows/Linux and Gecko-based browsers (compiled with some help from WestCiv).
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 | Omniweb 4.05 | OmniWeb 4.1 beta 2 to 4.2 final | OmniWeb 4.5 (sneaky peek 4) |
---|---|---|---|
Form elements styled? | No information | No. Aqua styling | No. Aqua styling |
background | See below. Font color set similar to background color of parent element will obscure content if background color does not work. | Now supported (except for caption
elements) but seems to interfere with width and destroys bullets on list items
unless the list items they have enough left margin; background on
inline elements incorrectly extended between lines of text. |
OK |
background-attachment | N | N | OK |
background-color | Only BODY, TH, TD and absolutely positioned elements | See above | OK |
background-image | Only Body | OK | OK |
background-position | Only Body | Only Body | OK |
background-repeat | Only Body | Supported but does not tile from correct origin
because background-position is not supported. |
OK |
border-collapse | N (untestable because borders not supported) | N (untestable because borders on table cells not supported) | N |
border-spacing | N | N (untestable because borders on table cells not supported) | N |
border | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs
inline elements and BODY/HTML , but may be interfering
with width , and incorrectly supports bad declarations
like {border: left red solid;} |
OK |
border-bottom-color | N | P: all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-bottom-style | N | B: solid only, all elements except
table cells/rows, absolutely positioned DIVs and inline elements |
OK (NB: Safari glitches fixed) |
border-bottom-width | N | B: problems with ex units, all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-color | N | P: all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-left | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs,
absolutely positioned DIVs and inline elements. |
OK |
border-left-color | N | P: all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-left-style | N | B: solid only, all elements except
table cells/rows, absolutely positioned DIVs and inline elements |
OK (NB: Safari glitches fixed) |
border-left-width | N | B: Problems with ex units, all elements except table cells/rows, absolutely positioned DIVs and inline elements (NB solid only) | OK |
border-right | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs
and inline elements |
OK |
border-right-color | N | P: all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-right-style | N | B: solid only, all elements except
table cells/rows, absolutely positioned DIVs and inline elements |
OK (NB: Safari glitches fixed) |
border-right-width | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs
and inline elements |
OK |
border-style | B: solid only, all elements except
table cells/rows, absolutely positioned DIVs and inline elements |
OK | |
border-top | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs
and inline elements (NB solid only) |
OK |
border-top-color | N | P: all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
border-top-style | N | B: solid only, all elements except
table cells/rows, absolutely positioned DIVs and inline elements |
OK (NB: Safari glitches fixed) |
border-top-width | N | B: Problems with ex units, solid
only, all elements except table cells/rows, absolutely positioned DIVs
and inline elements |
OK |
border-width | N | P: Problems with ex units, all elements except table cells/rows, absolutely positioned DIVs and inline elements | OK |
bottom | B: pixel values ok, percentage values mess up unspecified width | OK | |
caption-side | N | N | ? |
clear | N | OK | OK |
clip | P: overflow not handled properly | ||
color | OK (but see background) | OK | OK |
content | N | N | N |
counter-increment | N | N | |
counter-reset | N | N | |
cursor | N | N | N |
direction | N | N | N |
display | block only |
Both block and inline
supported. |
|
empty-cells | N | N | N |
float | B: Only supported for IMG? Content sometimes obscured with floated DIVs | Works, but some problems: margins not handled properly, some text obscured and parent element height is affected by the dimensions of the floated elements inside it, which is not correct. Also widths not always calculated correctly and text does not always wrap properly. | OK |
font | OK | OK | OK |
font-family | OK | OK | OK |
font-size | Normal text is mapped to the font size
keyword small as in Internet Explorer, not as the
standard specifies. |
||
font-size-adjust | N | N | N |
font-stretch | N | N | N |
font-style | OK | OK | OK |
font-variant | N | N | N |
font-weight | OK | OK | OK |
height | Some weirdnesses even with pixel values. Only applied to absolutely positioned items, not floated ones. | OK | |
left | Percent values are calculated relative to the screen width, not relative to the containing block. Some weirdnesses even with pixel values. | Q: Works in some situations, but still problems with many sites. | OK |
letter-spacing | N | N | OK |
line-height | Doesn't support ex
units, but otherwise supported. |
B: background on inline elements goes through whole line height, ex units not supported; ratio line-heights not inherited properly. Seems to add to margin incorrectly | OK |
list-style | N | N | OK |
list-style-image | N | N | OK |
list-style-position | N | N | OK |
list-style-type | N | N | OK |
margin | Only 4.0.3 and above; negative margins not supported | Ok, but problems with negative margins and collapsing rules | OK |
margin-bottom | Ok, but problems with negative margins and floats. | Positive margins ok, but not negative margins and collapsing rules | OK |
margin-left | Ok, but problems with negative
margins, and auto value honored because width
not supported on items not absolutely positioned. |
Some problems with inline elements, auto
keyword not supported and negative margins are limited to about 8px in
size, but otherwise ok. |
OK |
margin-right | Ok, but problems with negative
margins, and auto value not honored because width
not supported on items not absolutely positioned. |
Negative margins and inline elements not handled
properly, % units seem to be incorrectly calculated,auto
keyword not supported |
OK |
margin-top | Ok, but problems with negative margins and floats. | Positive margins ok, but not negative margins and collapsing rules | OK |
marker-offset | N? | ||
max-height | N | N | |
max-width | N | N | OK |
min-height | N | N | |
min-width | N | N | OK |
outline | N | N | N |
outline-color | N | N | N |
outline-style | N | N | N |
outline-width | N | N | N |
overflow | N | P: scroll and auto
not supported (treated like hidden) |
|
padding | N | OK but incorrectly tries to honor negative padding. Doesn't work on inline elements. Incorrect box model means padding contributes to width. | OK |
padding-bottom | N | N | OK |
padding-left | N | N | OK |
padding-right | N | N | OK |
padding-top | N | N | OK |
position | position:absolute only,
not fixed or relative . This means that
absolutely positioned elements inside relatively positioned, or other
absolutely positioned elements are incorrectly positioned relative to
the BODY element, not the parent element. This can result in content
being obscured or otherwise destroyed. |
OK | |
quotes | N | N (but quote marks around Q
element by default) |
N (but quote marks around Q
element by default) |
right | Percent values are calculated relative to the screen width, not relative to the containing block. Some weirdnesses even with pixel values. | Q: Works in some situations, but still problems with many sites. | OK |
table-layout | N | N | ? |
text-align | Doesn't support justify ;left ,center
and right are ok. |
OK | |
text-decoration | P: not overline; underlines incorrectly change color in child elements | OK | |
text-indent | N | B: works ok in simple contexts, but incorrectly
indents text after line breaks with <br> element, %
are calculated incorrectly and doesn’t
support the use of em or ex units. |
OK |
text-shadow | N | N | N |
text-transform | N | N | Some glitches (different from Safari v60) |
top | B: pixel values ok, percentage values mess up unspecified width | OK | |
unicode-bidi | N | N | N |
vertical-align | Q: OK for table cells but some problems with inline elements | OK | |
visibility | N | P: All except collapse |
|
white-space | Q: Mainly ok but incorrectly applied to inline elements (see test 2 of this test page) | ? | |
width | Percent horizontal width values are calculated relative to the screen width, not relative to the containing block. Only applied to absolutely positioned elements. Some weirdnesses even with pixel values. | Makes the same mistake as IE5/Windows – width is calculated as including padding. Strange % calculations | OK |
word-spacing | N | N | N |
z-index | OK | OK | |
Direct-child
selector (> ) |
Destroyed: if no
white-space between element names (eg p>span ) applies
style to the first element listed (p ) not the second.
Especially problematic for the Albin
Opera Hack: the styles are applied to HTML/BODY, not the intended
element. However, declarations such as HTML>BODY DIV
seem to work ok. |
OK | |
attribute selectors | Destroyed: Renders all elements of the type (eg P) with the style, not just those with that attribute. | OK | |
Sibling selector (+) | Destroyed: Applies to all last-most part of the selector (eg H3+P will apply to all P’s) (see test page here and alternative test page at Meyerweb | OK | |
Multiple classes | N | N | OK |
:before and :after | N | N | OK |
:first-line pseudoclass |
N | N | OK |
:first-letter pseudoclass | N | N | OK |
:first-child pseudoclass (CSS2) (test) | N | N | OK |
:link, :visited pseudoclasses | N | OK | OK |
:hover pseudoclass | N | N | OK |
:lang pseudoclass | Destroyed: applies to all elements, not just those with the correct lang attribute | N | |
@import url("../file.css") | OK | OK | OK |
@import url(../file.css); | OK | OK | OK |
@import url(../hide1b.css) screen; | OK | OK | OK |
@import "../hide2.css"; | N | OK | OK |
media attributes | N: does not ignore media="screen"
but does not support print stylesheets. Note: ignores stylesheets with cap |
Generally OK but some quirks on exotic combinations. | |
@media rules | N | N | ok? |
Tantek box-model hack | Q: Passes hack but has problems with box model | OK | |
High-pass filter (including inline version) | Q: Passes some aspects of hack, but not others | OK, including inline version | |
Caio’s hack | OK: Hides from Netscape 4 as intended but not OW | OK: Hides from Netscape 4 as intended but not OW | |
Be Mean to Opera Hack (test) | B: Replicates Opera’s parsing bug | B: Replicates Opera’s parsing bug | |
Owen Hack (test) | B: Passes “Be Nice to Opera Hack” but fails Owen Hack | B: Passes “Be Nice to Opera Hack” but fails Owen Hack |
This page was compiled by CodeBitch and hosted by MacEdition, based on analysis of the CSS1 and (some of the) CSS3 Selectors Test Suites provided by the W3C, Eric Meyer’s CSS2 Test pages, CSS2 Test pages provided by Richinstyle, and CodeBitch’s own tests of CSS compatibility, with added information from pages provided by Johannes Koch, Albin.Net, Ian Hickson and David Baron. Some information was initially drawn from other compilations of bug information for Safari, and from the Konqueror documentation, but all such information has been independently 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: 25 October 2003 (8:30PM AEST) CodeBitch