[ale] CSS hell

George Carless kafka at antichri.st
Sat May 15 19:02:07 EDT 2004


Besides all other considerations, the decision to use CSS/xhtml goes way 
beyond what's "easier on the browser": it amounts to a philosophical and a 
pragmatic choice to separate layout from content, for a variety of 
reasons.  Of course some (many?) people do abuse css, but there is 
nonetheless a great deal to be said for an approach that says "let's mark 
content up by describing what it IS, rather than what it 'looks like', so 
that we can then apply a different 'look' to it according to the display 
medium".  In a very simple example, I often use different stylesheets for 
print than I do for web browsers, so that when a user prints out a web 
page they are presented with something that is better suited to that 
particular medium: there's no point in printing out things like dynamic 
menus or whatnot when what a user generally *wants* is the "main content," 
and so I print out just that, formatted for print, with perhaps some 
additional contact information or whatnot that wouldn't appear in the 
browser.  In the intranet/extranet/internet scenario, CSS would allow the 
precise same content to be displayed in each case with just a different 
stylesheet applied to present that content in the manner appropriate to 
the site in question.  

Only the inexperienced would argue that the css approach adds clutter: all 
those of us who have seen the light would tell you that css almost always 
radically reduces the quantity of extraneous tags, and further ensures 
that what code *is* there has a precise purpose, marking up the content 
that it describes.  Tables for layout are a nasty hack, and even the 
layperson will generally find a pure css-based layout to be far more 
elegant and legible than they will any table-based mess.  And this is 
without even considering issues like accessibility (suitability for 
screen readers etc.), which is an area where tables can *really* start 
messing things up...

Yes, getting to grips with css for design can be tricky.  And yes, the 
cross-browser issues can be a pain.  I'm still working to complete 
compliance myself for various sites (mainly because my boss still doesn't 
really 'get it'..), but I've still been able to develop a number of 
complex designs that render 'correctly' for different browsers and that, 
via css, can be quickly and easily transformed  on a whim. 

--George



More information about the Ale mailing list