Monday, February 22, 2010

Dillo 2.2: Return of the CSS hack

I have always had a soft spot for the Dillo web browser. It is the only graphical browser I was able to get to run on an old Gateway Handbook I have lurking around. Dillo is a browser which runs nicely on Windows 3.11 era machines while any other current browser plain simply does not run on a computer from that era.

About a week ago, Dillo 2.2 with limited CSS support has been released. Very limited CSS support.

Any web designer from the first decade of the 2000s remembers the days of the CSS hack. I remember designing a page from that era, having it look really nice in Mozilla (this was before Mozilla Firefox), but having the CSS make the site unusable in Netscape 4, forcing me to find a hack to hide the CSS from Netscape 4. For people who still care about Netscape 4 (but, really, you shouldn’t), the hack is /*/*/, which hides CSS from NN 4 until the next comment in the CSS.

Today, a lot of advanced CSS is not supported in Internet Explorer 6, which, despite Microsoft and web designers’ best efforts, is still used by 20% of the browser audience. Fortunately, the CSS hacks (there are various) for hiding content from IE6 are well-known; my usual hack is the !important hack for having IE6 see one set of CSS commands and web standard compliant browsers see another set of CSS commands.

Thankfully, the “zoo decade” (the first decade of the 2000s) is over, and the only browsers with significant market share that doesn’t pass the Acid 2 test are older versions of Internet Explorer. Everything else out there is standards compliant.

Well, everything else except Dillo 2.2. While Dillo supports a little CSS, it is no where near standards compliant. Click here for a screenshot of Dillo 2.2 rendering the Acid 2 test.

Dillo 2.2 is starting to support CSS. Indeed, my pages with CSS look a lot better with the very limited CSS Dillo 2.2 supports than with no CSS at all (my hacks for hiding the CSS from Netscape 4 are still in place). However, since Dillo 2.2 has very limited CSS support, I am having to do a CSS hack to hide the CSS which looks bad in Dillo: @media all {. You can see how I use this hack to hide the CSS from Dillo in this CSS.

Hopefully, the Dillo developers will not make this hack stop working until the Acid2 test gives us a smiling face in Dillo’s CSS renderer.