copyright © CSSPG, last modified March 15 2001

for practical use of CSS
For any one that has been around long enough to know the "story" on how some parts of CSS even came to be in the NS4 generation of browsers, it should be apparent that it comes down to a part of programming that never had a chance to be properly implemented or debugged before the already stipulated release date for NS4.
NS had their own proposal up at W3C for something they called JSSS (JavaScript Style Sheets) in August 1996, it was not even "full grown" when it was submitted. But following "standard NS procedures" of that time, they had already worked JSSS into their upcoming generation 4 code.
Any way, their proposal was turned down in favor of the "real" CSS1 proposal, as we know it in recommendation today.
Given the fact that this happened in late 1996 and the first NS4 release was already set to happen in early 1997, NS programmers was left with a situation where they only had a few months available to produce code to get some of the "real" CSS1 into their browser.
Now a decision was taken to build onto the already available JSSS engine and just produce a "translator" from CSS1 over to JSSS. That "translator" was produced in "no time" not very much debugged, and most important, the parts of CSS1 that could be fully supported in NS4 was only those parts that could be directly mapped over from CSS1 to the "unfinished" JSSS engine to start with.
These "facts" explains, among other things, why it is required to have JavaScript enabled in NS4 in order to make use of CSS at all. All CSS rendering in NS4x is done through their JavaScript engine to start with.
Any minor change in CSS behavior that may have happened up to the latest version of NS4x is only a result of changes made in the JS engine, changes that have been implemented mostly for other purposes, like tightening up security leaks, where altered CSS behavior would just be a side effect.
Any one "new" here that would care to try find NS's original JSSS proposal at the W3C site, might find it "amusing" to see that it still "works" as described for all NS4x browsers up til today, but nowhere else of course. (and it should also be noted that NS has officially abandoned JSSS)
Knowing a bit about JSSS also creates a base for how to understand the CSS implementation in NS4. Rules that maps 1:1 between the two (admittedly not many) usually works fairly good, for anything else it will just be a game between bugs in the CSS translator and the JSSS engine, that adds or subtracts from each other in a most unpredictable way.
But once again, there are no guarantees about NS4x
and CSS, it has been found (and proven) that not even the rule...
{display:none;} ...works according to specs in NS4x :)
From the CSS1 spec...
A value of 'none' turns off the display of the element, including children elements and the surrounding box.
» » »
Go figure...
In all fairness it shall be mentioned that NS has taken on a very different approach to CSS as of some time. The work as presented through The Mozilla Project seems to be all geared up towards producing as much of an HTML4, CSS1 and parts of CSS2 compatible browser as they are ever capable of doing.
We can also find support in their code for some of the more "modern" variants of markup. Developers will love that of course.
The lion share of the coding work at mozilla.org is still done by NS employees, at times supported by a few highly knowledgeable CSS "gurus". I have been following their intermediate releases so far, and I'm fairly confident that we will get a really good CSS capable browser coming out of it, as in what has already appeared a couple of times as Netscape 6 Previews.
As things stands today, it seems that, for a Win based environment, there are only two browsers, Opera v3.6x - 5.0x and the latest Mozilla releases that can claim a really high level of conformance to CSS1.
IE5 for Mac is also claimed to be close to be very good in its CSS1 support, but I can't tell, since I don't have a Mac to do my own tests on.
IE5x for Windows? Sorry, there's a long way to go for them, still.