More advice for the full screen mode.
I list below all topic groups, which I have done according to subjects, which they handle. You can return to this topic group by using this menu and the link Table of topic groups on the top of the each page.
Table of topic groupsFront page of CSS-guideExtra pages > N What CSS-implementation errors are in browsers

N What CSS-implementation errors are in browsers



Browsers make errors and they have missing features. In spite of the fact that MS IE 4.x-5.5 for Windows tolerate quite much errors it is necessary that authors try to avoid errors. This is important because some CSS-supporting browsers don't tolerate errors at all or very little. It is sensible to validate CSS using the CSS validator of W3C.

Even if all new browser don't accept much errors also browsers, which should behave with certain DTD in the standard(-compliant) strict according to the existing specifications, accepts some invalid/ unknown CSS for the browsers (if they don't work in the standard(-compliant) mode they accept more illegal CSS). They have so-called "[S]DTD-switch"[Pw]. I have found following errors accepting total invalid or unknow properties:

Opera 7.x browsers have much more limited DTD-switch and elder Opera browsers don't have it at all. That's why Opera browsers must make some compromises, because Web-authors have bad habit to favor invalid CSS especially in JavaScript encodings. Opera accepts at least following errors (I mention also if Opera Software could in my mind change the behavior):

Style sheets and rules should organize very systematic. I have met problems, because my pages are not originally designed to use them. The organization is only satisfactory, but not good. This situation cause following problems:

A hint. Create an index.css, when you can validate all your style sheet using a single file! Look at the source code of my test css-file as a text file[S][Pw].

Look at also my page Illegal definitions and hints to avoid problems[S][Pw].

You can get more exact information about errors in browsers from the pages of Webstandards. They give top ten list of CSS-errors and I give some estimation here. You can also read from Webreview documentation about CSS1-implementations in various browsers.

Webstandards, webreview.com.

Microsoft Internet Explorer

I judge the MS IE 5.x series according to the CSS2. Overall MS IE 5.x has only average level CSS-implementation and it has been a disappointment for me. Only part of the CSS1 level errors in MS IE 4.x are fixed. It does have also missing of important features in CSS2. The CSS implementation is overall only partial.

The biggest problem is that Windows-browsers have basic level CSS-implementation errors (read the page How to set CSS for backgrounds and borders[S]).

Microsoft has however made remarkable improvements into the 6.0 series (also MS IE 5.0 for Mac is a good browser. Concerning supported features the browsers works with certain DTD quite strict following existing specifications. Detailed analyse about errors and fixes are in a separate page.

Netscape Navigator

Netscape 4.0x is terrible bad - just terrible! It is so bad, that I don't have time to describe of all errors, which it makes (read from an extra page some hints, how you can survive with Netscape 4.x[S][Pw]). Netscape 6.x+ has quite fine CSS-implementation! It use Mozilla Gecko rendering engine. Many other browsers use the same rendering engine (for example Mozilla, Galeon and Phoenix). Mozilla Gecko browsers have almost flawless CSS1 level support and quite wide CSS2-implementation. Because Mozilla Gecko browser (like new Opera browsers) applies dynamic pseudo-classes wider than many other browsers, this matter might cause problems for web authors (read CSS notes 1[S]).


Opera 5.02 has quite functional CSS-implementation and it support all CSS1-features (Opera 4.02 doesn't support :visited). Opera 5.x doesn't have any serious CSS-implementation errors.

Newer versions implement more features, which belong to CSS2, but the strictness to follow the specification has some minor bugs. In some respects older browsers follow specifications better than newer. Following the specification is however overall quite good.

Some demonstrations or errors or missing features

The following list is CSS 2 level pattern matching test. I have explained with text and images, what the browser should show. (I have explained patterns in the page What is the processing order of CSS[S][Pw]). This a test for all types of selectors and it explains also at some level the cascading order. Among those browsers, which I have tested, only browsers which can survive this test without any error are Mozilla Gecko and Opera 7.x browsers (it is possible that also Safari and Konqueror browsers might survive from this test as well).

In this paragraph is some inline areas using SPAN. Around these bold words should be 1px #660033 border. If you can't see it, the browser doesn't support properly CSS-properties to inline elements. If you try to make the border visible to IE 4.01/5.0 giving a height-value, which belongs to block-level elements, the result is incorrect. IE don't keep this bordered text at the same vertical level as the other text. It only exchange the area almost as normal behaving block-element. IE tries to keep it in the same line and if it must make a line break, it creates a block box around the text. It doesn't allow other text in the same row. The behavior is something between common inline and block elements. Sometimes it is closer to DIV and sometimes SPAN - always incorrect. According to an e-mail MS IE handles inline elements some kind of special blocks, which explains the error behavior. MS tries to fix this matter in the MS IE 6.0 series.

W3C: CSS validator[Pw].
Other sites: Webstandards[Pw]; Webreview[Pw]: CSS1 Master Compatibility Chart, CSS2 Selectors Support Chart; Microsoft: CSS Enhancements in Internet Explorer 6 Public Preview.