If you've been reading this column for any amount of time, you'll know I'm not shy about my optimism for cascading stylesheets (CSS). It is, without a doubt, a beautiful and elegant solution to many of the limitations facing electronic publishing on the Web today. Not only do graphic artists get the typographic and layout control they've been begging for, but the technology is appropriate for the Web - not some shovelware solution or proprietary technology.
This, of course, is all in theory. The reality of different implementations from multiple browser vendors, added to the morass of platform peculiarities, can drive you mad. I'm giving him the floor this week, reprinting one of his rants on the current state of CSS and Web design. But be sure to check back next week for my utopian, standards-based rebuttal.
There may never be a time for stylesheets. Now certainly is not the time.
If you look at the breakdown of browsers being used on the Web, it looks something like this: Half use Navigator 3x. A third use IE 3x. Literally a handful of people use everything else, like the betas of Navigator and IE, or the old stuff that don't do nothin'.
Most people (three quarters or so) use Windows, and the rest (less than a quarter) are on Macs, presumably late versions of System 7.
In other words, only a third of the people out there can see CSS. That's a significant group, but does that mean a third of the people out there are seeing what you think they're seeing?
No. CSS may work on IE 3, IE 4x, and Nav 4x (badly), but it is still up to the platform to display the type. We're limited by the lack of standard, cross-platform fonts, and the fact that PCs render type differently than Macs.
All Macs ship with Helvetica, Geneva, Times, New York, Monaco, Courier, and Chicago. PCs ship with Arial, Times, Courier, CourierNew, Modern, Microsoft Sans Serif, Microsoft Serif, Wingding System and a couple of other useless things.
What are the common fonts here? Well, as a designer, I'm thinking in terms of sans serif versus serif, and fixed-width versus proportional fonts. On a Mac, we have Helvetica (which looks like hell below 12 pt) and Geneva (which looks like hell above 24 pt) for desirable sans serif faces. On
Windows we have Arial.
For serif faces we have Times and Times (wow, some commonality). One can also assume that IE users on Macs and Windows have identical versions of Verdana, because it's included with IE 3. For fixed-width, we have Courier and Courier, right? Wrong. Courier on Windows is not TrueType. We have to use CourierNew (which isn't new at all - they should call it Courier-done-right).
The problem is, the Mac was designed in accordance with centuries-old typographic standards. Or one of them, at least: The fact that 72 points make up an inch. A Mac recognizes the point size of a font, and displays it close to the size you would expect to see it in print.
Windows, on the other hand, ignores convention, choosing instead to display type for all the old farsighted folks at home - making a 12-point font as big as 16 points. So when I specify a font to look like 12 points for that 75 percent of the Web on Windows by using a 9-point face, the other 25 percent of readers can't read it.
Stylesheets provide a good work-around with the PX (pixel) spec. It's an absolute spec, and crosses platforms nicely. A 12 px font would be the right bookish size everywhere ... um, except when I print. UUGGHHHH! The Windows printer driver - not to be mistaken for a useful extension - tells a 300 ppi printer that a pixel is 1/300 of an inch. Now my 12-point font is printing at .04 points (that's slightly smaller than my expectations for Windows to ever be a sophisticated operating system).
So we're back to specing point size (not pixels), in favor of a reasonable printout. Incidentally, Navigator 4 on Windows has inherited the Mac sense of style by rendering points in their traditional size. So now we're down to around a quarter of the people on the Web seeing what we wanted them to see.
Inevitably, half the CSS-capable users will hate what they see, regardless of whether it is what the designer intended. Everyone has a slightly different tolerance for pain. Reading on a monitor is painful enough. CSS overrides a user's ability to customize type display for their personal comfort.
Usually, when a user manages to turn off CSS - either by using an older browser or flipping that mythical switch in Preferences - the entire design falls apart. I know, I know, I'm supposed to design for degradability. Well, I say, design for the environment. Create pages that don't need to degrade. Frig them friggin' stylesheets.