CSS Support in Current Browsers
The rest of this hour represents a snapshot of the browser world as of the first half of 2002. Newer versions of these browsers may be out by the time you read this and could offer even greater support for the CSS standards, so be sure to check the Web sites for the latest versions.
For the major browser types I've provided screen shots of the browsers in action, displaying a page with some high-powered CSSpart of the css/edge, a CSS site by Eric Meyer that pushes the boundaries of what you can do with standards-compliant CSS.
The URL for each of these examples is the css/edge spiral, from http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html. Figure 3.1 illustrates how the spiral is supposed to appear, as shown by Netscape 6.
Figure 3.1 The css/edge spiral demo as it should look (Netscape 6).
Internet Explorer
Microsoft's Internet Explorer has been declared by many to be the winner of the 1990s browser wars. Internet Explorer 3 had the first support for Cascading Style Sheets, but unfortunately it was quite disastrous and unusable. Subsequent versions have improved a lot.
Internet Explorer is available on two primary platformsWindows and Macintosh. (A "pocket" version exists for Pocket PCs running Windows CE.) An important point to keep in mind is that the Windows and Macintosh versions of Internet Explorer are effectively completely different browsers. They share some common functionality, but the core code for each is different, and they have vastly divergent support for Cascading Style Sheets and other Web standards.
IE 5, 5.5, and 6 for Windows
CSS support in Internet Explorer 5 for Windows is what one would call "almost compliant and just somewhat broken," and each subsequent version gets one step better. Internet Explorer 6 implements a standards compatibility mode that pretty much moves it into the category of compliant browsers.
NOTE
You can download a copy of Internet Explorer for Windows from the Microsoft Web site at http://www.microsoft.com/windows/ie/default.asp.
The css/edge spiral as displayed by Internet Explorer 6 for Windows is shown in Figure 3.2.
Figure 3.2 Internet Explorer 6 (Windows) displays the css/edge spiral.
IE 5 and 5.1 for Macintosh
As mentioned before, Internet Explorer for Macintosh should be considered a completely different species of browser than its Windows cousin. Internet Explorer 5 for Mac, at the time it was first released, was the most standards-compliant browser available and was far ahead of the Windows counterpart. Version 5.1 continued this strong support for CSS and other standards.
NOTE
The Web site for Internet Explorer for Mac is http://www.microsoft.com/mac/products/ie/.
You can see the css/edge spiral displayed as it's meant be shown in Figure 3.3.
Figure 3.3 The css/edge spiral in Internet Explorer 5.1 for Macintosh.
Older Versions of Internet Explorer
Internet Explorer 3 and 4on either platformhave had serious problems with CSS and fall into the category of broken browsers. Users with these older versions should be encouraged to upgrade or to possibly just disable CSS.
Netscape
Like the brand name Internet Explorer, the Netscape brand name also applies to two vastly different browsers with the same name. Netscape 4 is the earlier version and is quite buggy, especially when it comes to browser support, whereas Netscape 6 is quite possibly one of the most CSS-compliant browsers available.
Netscape 6 and Mozilla
It's important to realize where Netscape 6 came from. In the middle of the fierce browser competition of the late 1990s, Netscape proposed a daring plan. The core browser engine code was made publicly available as part of an open source projectone in which anyone is welcome to volunteer and contribute programming code to the collective, public code base. This was known as the Mozilla project.
Admittedly, the results have been slow in comingNetscape even had to skip browser version 5 entirely to maintain the illusion of keeping upbut there have also been impressive results. Netscape 6, based on the Mozilla project's work, is a browser that is very good at Cascading Style Sheets as well as one that offers excellent support for HTML standards.
Mozilla is available on a multitude of systems, including Windows, Macintosh, Linux, and others. As it is a work in progress, there are daily developer builds available for testing as well as regular milestone releases.
NOTE
You can download the most recent version of Mozilla from http://www.mozilla.org/.
Netscape 6.2.1 is the most current version of Netscape 6 as this book is being written. You've already seen an example of Netscape 6 displaying the css/edge spiral in Figure 3.1.
NOTE
The URL for downloading Netscape is http://home.netscape.com/computing/download/.
Netscape 4
Netscape 4.79 is the most recent version of Netscape 4, but as noted before, Netscape 4 has very poor support for Web standards, including CSS. However, as a CSS developer you'll probably want to have a version of Netscape 4 available for testing.
NOTE
You can download a version of Netscape 4 from http://home.netscape.com/download/.
Figure 3.4 shows Netscape 4's attempts to display the css/edge spiral.
Figure 3.4 As you can see, Netscape 4 can't quite handle the complex CSS of the css/edge spiral.
Older Versions of Netscape
Some older versions of Netscape 4 were even worse at CSS; for example, version 4.02 would routinely crash if you tried to apply certain styles to a table cell. Netscape 3 is useful for testing, however, as it is an excellent example of an older browser that completely ignores CSS.
NOTE
Older versions of Netscape can be found at http://home.netscape.com/download/archive.html.
Opera
Opera is the perpetual third-runner of browsers; fast and small and standards-compliant, it still doesn't enjoy the same popularity as the big two browser names. The Chief Technology Officer at Opera, Håkon Wium Lie, was one of the principal authors of the CSS Level 1 and Level 2 recommendations, so you know they know their stuff! Since version 3, Opera has consistently had great CSS support, improving incrementally with each release.
Opera 6
Opera 6 is the current version available for Windows, and I highly recommend getting a copy if you're a Windows user. In addition to the CSS support, it also features one-click buttons to turn off and on CSS rendering, user style sheets, and more, which combine to make this an excellent testing tool.
NOTE
You can download Opera 6 from http://www.opera.com/download/win.html.
The css/edge spiral is shown in Figure 3.5 on Opera 6.
Figure 3.5 Opera 6 is up to the task of displaying the css/edge spiral.
Opera 5
Opera 5 is the most recent version for Macintosh, Linux, and other platforms. Unlike Internet Explorer, Opera is consistent across various platforms and functions much the same no matter what it's running on, especially when it comes to rendering CSS.
NOTE
The Opera 5 download page is http://www.opera.com/download/.
Other Browsers
The world of browsers definitely doesn't end with just Internet Explorer and Netscape, and not even with Opera. There are a number of other browsers that understand CSS to varying degrees, including iCab for Mac, WebTV on set-top boxes, Konqueror for Linux, and Lynx for nearly any system.
iCab
iCab is a Macintosh Web browser made by a company in Germany; you can run iCab in German or in English. iCab has limited CSS support, but they do take standards seriously; the iCab browser displays a sad face when it reaches a page with invalid HTML and a happy face when the page conforms to the HTML standards. Figure 3.6 shows iCab's attempt to display the css/edge spiral.
NOTE
The iCab Web site is http://www.icab.de/.
Figure 3.6 iCab makes an attempt to display the css/edge spiral.
WebTV
The set-top WebTV boxes were an early attempt to make Internet appliancesdevices that make Web access as easy as using your microwave. They're interesting to us as CSS developers because they supported a limited subset of CSS, mainly for simplicity's sake, but also because some properties (such as fonts) didn't make sense based on the type of browser built into a WebTV. A WebTV emulator is available for Windows and Macintosh and was used to view the css/edge spiral, as seen in Figure 3.7.
NOTE
You can download the WebTV emulator from http://developer.msntv.com/.
Figure 3.7 WebTV has limited CSS support, and so it can't quite handle the css/edge spiral.
KDE Konqueror
Konqueror is part of the K Desktop Environment, an open source project creating software for the Linux operating system. Konqueror functions as a Web browser (among other functions) and has generally good support for CSS.
NOTE
You can learn more about Konqueror at http://www.konqueror.org/.
Figure 3.8 Konqueror takes the css/edge spiral challenge.
Lynx
The Lynx browser is one of the oldest browsers around; it's entirely text based. Lynx doesn't do JavaScript, doesn't do Java, doesn't do graphics, doesn't do sound, doesn't do Flash, and doesn't really do tables or frames particularly well (although those latter two it can deal with okay).
What about CSS? Lynx doesn't understand CSS at all. As such, it's a perfect example of the older browser category discussed earlier in this hour. Lynx is a good testing tool for CSS development because it lets you see what your Web design will look like if style sheets are turned off. Lynx is also a good approximation (although not an exact one) for how people with visual disabilities access the Web using screenreaders.
NOTE
Lynx is available for Windows, Mac, Linux, and a number of other operating systems. You can download a copy of Lynx from http://lynx.browser.org/.
So how does Lynx handle the css/edge spiral? As you can see in Figure 3.9, all of the formatting and images are completely gone, but the page content is still understandable and usable. This is how CSS is backwards compatible; older browsers can still access and use the content even if the styling is lost.
Figure 3.9 Lynx doesn't display the css/edge spiral styles at all.