Todd Dominey is cursing the shortcommings of CSS today. I’ve been trying to put my thoughts together into a really solid rant about the truly painful weaknesses of trying to design without tables for a while now, and this is one of the best examples I’ve read so far.
Close to the root of the whole ugly mess are two simple facts about publishing on the web. 1: The web is very young and terribly vast. 2: CSS is a poor language for styling content. All I’m going to say about my first point is that the web’s youth and size mean that many necessary advancements are going to come very slowly.
With respect to the second point, CSS is better than what we had before. But it’s missing so much. For example, it seems to me (and correct me if I’m wrong) that there is no concept of columns in CSS. That’s part of exactly what drew people to using nested tables. The ability to say, “This section of the page is divided into N columns.” Now, instead of nested tables, we pervert CSS’s
float element to fake the appearance of columns. Which leaves us with the kind of problems which are frustrating Mr. Dominey.
What XHTML/CSS might need is a sub-element for the
<div> tag which would get us our columns. For example,
<div><dc>Column One</dc><dc>Column Two</dc></div> would get us a
<div> divided into two columns. The width, padding, color, etc. of the
<dc> tags could be set with CSS.
This is simply my “five-minutes of thought” solution to a hideously complex problem. XHTML/CSS has significant shortcomings and the right solutions won’t be easy to find or quick to roll-out.