Basic Concepts

1.1Containment in HTML
@import

WinIE imports files even when the @import statement is at the end of the document stylesheet. This is technically in violation of the CSS1 specification.

Spec.
Suite
1.1Containment in HTML

Navigator 4 has particular trouble with list items, which is most of the reason for the B.

Spec.
Suite
1.3Inheritance

Navigator 4's inheritance is unstable at best, and fatally flawed at worst. It would take too long to list all occurrences, but partiularly troublesome areas include tables and lists.

Spec.
Suite
1.4Class selector

WinIE4 allows class names to begin with digits; this is not permitted under CSS1.

Spec.
Suite
1.5ID selector

WinIE4 allows ID names to begin with digits; this is not permitted under CSS1. All browsers apply the style for a given ID to more than one instance of that ID in an HTML document, which is not permitted. This is properly an error-checking problem, but it is significant enough to warrant the ratings shown.

Spec.
Suite
1.6Contextual selectors
x y z {dec;}

MacNav4 has the most trouble with contextual selectors involving tables. For example, HTML BODY TABLE P is not properly handled.

Spec.
Suite

Pseudo-Classes and Pseudo-Elements

2.3first-line IE3 incorrectly applies styles to the entire element. Spec.
Suite
2.4first-letter IE3 incorrectly applies styles to the entire element. Spec.
Suite

The Cascade

3.2Cascading Order

Again, there are simply far too many instances of problems to list here.

Spec.
Suite

Font Properties

5.2.2font-family
cursive

Despite a preferences setting for cursive fonts, Opera does not seem to apply the perference, but istead substitutes another font.

Spec.
Suite
5.2.4font-variant
small-caps

IE4 approximates the small-caps style by making all such test uppercase. While this can be justified under the CSS1 specification, visually, it does not render the text in small caps.

Spec.
Suite
5.2.6font-size
xx-small - xx-large

IE4's values for absolute sizes assigns small to be the same size as unstyled text, instead of medium, as one might expect. Thus, declaring an absolute font size will almost certainly lead to different size fonts in Navigator and Explorer. While this is not incorrect under the specification, it is confusing.

Spec.
Suite

Color and Background Properties

5.3.2background-color

Nav4 does not apply the background color to the entire content box and padding, but rather just to the text in the element. This can be worked around by declaring a zero-width border.

Spec.
Suite
5.3.2background-color
transparent

Nav4 insists on applying this value to the parent of an element, not the element itself. This can lead to 'holes' in the parent element's background.

Spec.
Suite
5.3.4background-repeat
repeat

WinIE4 only repeats down and to the right. The correct behavior is for the background image to be tiled in both vertical directions for repeat-y, and both horiztonal for repeat-x. Nav4 gets this property correct on a technicality: since it does not support background-position, there is no way to know whether or not it would tile up and to the left if given the chance, or instead emulate WinIE4's behavior.

Spec.
Suite
5.3.4background-repeat
repeat-x

WinIE4 only repeats to the right, instead of both left and right.

Spec.
Suite
5.3.4background-repeat
repeat-y

WinIE4 only repeats down, instead of both up and down.

Spec.
Suite

Text Properties

5.4.3text-decoration
none

According to the specification, if an element is is decorated, but one of its children is not, the parent's effect will still be visible on the child; in a certain sense, it "shines through." Thus, if a paragraph is underlined, but a STRONG element within it is set to have no underlining, the paragraph underline will still "span" the STRONG element. This also means that the underlining of child elements should be the same color as the parent element, unless the child element has also been set to be underlined.

In practice, however, setting an inline element to none will turn off all decorations, regardless of the parent's decoration. The only exception to this is Opera, which implements the specification correctly.

Spec.
Suite
5.4.3text-decoration
blink

Since this value is not required under CSS1, only Navigator supports it (surprise).

Spec.
Suite
5.4.6text-align
justify

In Nav4, this value has a tendency to break down in tables, but generally works in other circumstances.

Spec.
Suite
5.4.8line-height

Nav4 incorrectly permits negative values for this property.

Spec.
Suite

Box Properties

5.5.01margin-top

All margin properties seem to be problematic, or else completely unsupported, on inline elements. In the case of margin-top, support is pretty good on block-level elements in Nav4, IE4, and Opera.

Spec.
Suite
5.5.02margin-right

All margin properties seem to be problematic, or else completely unsupported, on inline elements. In the case of margin-right, support is pretty good on block-level elements in IE4 and Opera. With inline elements, Opera appears to apply the margin to all line-boxes of an inline element, which is incorrect. Navigator does fairly well so long as margins are not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.03margin-bottom

All margin properties seem to be problematic, or else completely unsupported, on inline elements. In the case of margin-bottom, support is pretty good on block-level elements in IE4 and Opera. Navigator does fine so long as margins are not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.04margin-left

All margin properties seem to be problematic, or else completely unsupported, on inline elements. In the case of margin-left, support is pretty good on block-level elements in IE4 and Opera. With inline elements, Opera appears to apply the margin to all line-boxes of an inline element, which is incorrect. Navigator does fairly well so long as margins are not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.05margin

All margin properties seem to be problematic, or else completely unsupported, on inline elements. In the case of margin, support is pretty good on block-level elements in IE4 and Opera. With inline elements, Opera appears to apply the margin to all line-boxes of an inline element, which is incorrect. Navigator does fairly well so long as margins are not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.06padding-top

All padding properties seem to be problematic, or else completely unsupported, on inline elements. In the case of padding-top, support is pretty good on block-level elements in IE4. Opera incorrectly honors negative padding values. Navigator does fairly well so long as margins are not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.07padding-right

All padding properties seem to be problematic, or else completely unsupported, on inline elements. In the case of padding-right, support is pretty good on block-level elements in IE4. Opera incorrectly honors negative padding values. Navigator does fairly well so long as padding is not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.08padding-bottom

All padding properties seem to be problematic, or else completely unsupported, on inline elements. Opera incorrectly honors negative padding values. Navigator does fairly well so long as padding is not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.09padding-left

All padding properties seem to be problematic, or else completely unsupported, on inline elements. Opera incorrectly honors negative padding values. Navigator does fairly well so long as padding is not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.10padding

All padding properties seem to be problematic, or else completely unsupported, on inline elements. Opera incorrectly honors negative padding values, and will alter line-height based on values of padding, which is also incorrect. Navigator does fairly well so long as padding is not applied to floating or inline elements, in which case major bugs can be tripped.

Spec.
Suite
5.5.11border-top-width

Navigator will create visible borders even when no border-style is set, and does not set borders on all side when a style is set. Things get really ugly when borders are applied to inline styles. IE4 correctly handles borders on block-level elements, but ignores them for inlines.

Spec.
Suite
5.5.12border-right-width

Navigator will create visible borders even when no border-style is set, and does not set borders on all side when a style is set. Things get really ugly when borders are applied to inline styles. IE4 correctly handles borders on block-level elements, but ignores them for inlines.

Spec.
Suite
5.5.13border-bottom-width

Navigator will create visible borders even when no border-style is set, and does not set borders on all side when a style is set. Things get really ugly when borders are applied to inline styles. IE4 correctly handles borders on block-level elements, but ignores them for inlines.

Spec.
Suite
5.5.14border-left-width

Navigator will create visible borders even when no border-style is set, and does not set borders on all side when a style is set. Things get really ugly when borders are applied to inline styles. IE4 correctly handles borders on block-level elements, but ignores them for inlines.

Spec.
Suite
5.5.15border-width

Navigator will create visible borders even when no border-style is set, and does not set borders on all side when a style is set. Things get really ugly when borders are applied to inline styles. IE4 correctly handles borders on block-level elements, but ignores them for inlines.

Spec.
Suite
5.5.16border-color

Nav4 and Opera do not set colors on individual sides, as in border-color: red blue green purple;. Explorer cannot apply border colors to inilne elements, since it does not apply borders to inlines, but this is not penalized here.

Spec.
Suite
5.5.18border-top

Opera does not apply border styles to table elements, which is the reason for the "P" rating. IE4 does not apply borders to inline elements.

Spec.
Suite
5.5.19border-right

Opera does not apply border styles to table elements, which is the reason for the "P" rating. IE4 does not apply borders to inline elements.

Spec.
Suite
5.5.20border-bottom

Opera does not apply border styles to table elements, which is the reason for the "P" rating. IE4 does not apply borders to inline elements.

Spec.
Suite
5.5.21border-left

Opera does not apply border styles to table elements, which is the reason for the "P" rating. IE4 does not apply borders to inline elements.

Spec.
Suite
5.5.22border

Opera does not apply border styles to table elements, which is the reason for the "P" rating. IE4 does not apply borders to inline elements.

Spec.
Suite
5.5.23width

Navigator applies width in a very inconsistent fashion, but appears to honor it on most simple text elements and images. WinIE4 applies it to images and tables, but ignores it for most text elements such as P and headings.

Spec.
Suite
5.5.25float

float is one of the most complicated and hardest-to-implement aspects of the entire specification. Basic floating is generally supported by all browsers, especially on images, but when the specification is closely tested, or the document structure becomes complicated, floating often happens incorrectly, or not at all. The floating of text elements is especially inconsistent. Authors should use float with some care, and thoroughly test any pages employing it with great care.

Spec.
Suite
5.5.26clear

Like float, clear is not a simple thing to support. Again, basic support is there, but as things get more complicated, browser behavior breaks down. Thoroughly test pages using this property.

Spec.
Suite

Classification Properties

5.6.3list-style-type
none

MacNav4 displays question marks for bullets when using this value.

Spec.
Suite
5.6.5list-style-position
inside

The positioning and formatting of list-items when set to this value are a bit odd under MacIE4.

Spec.
Suite

Units

6.1Length Units
ex

All supporting browsers appear to calculate ex as one-half em. This is arguably a reasonable approximation, but it is technically incorrect.

Spec.
Suite
6.3Color Units

Navigator will generate a color for any apparent keyword. For example, color: invalidValue will yield a dark blue, and inherit

Spec.
Suite
6.4URLs

Navigator determines relative URLs with respect to the HTML document, not the stylesheet.

Spec.
Suite