This article by Bruce Eckel, acclaimed author of Thinking in C++ and Thinking in Java, shows why programmers make bad designers. Like a typical programmer, especially one used to strongly typed and statically typed languages with finite official specifications, he has no idea what CSS is about or is supposed to be about. He thinks it is about control.
It is not.
CSS is all about suggestion. The W3C even calls its specifications Recommendations. But the point is, CSS is intended to be and is implemented as a mechanism to suggest to the user-agent (usually a web-browser) how to render a page. It is not supposed to be a finite, controlling mechanism. In all modern browsers, the users are empowered (most of them unknowingly) to override the CSS provided by the page at will.
Bruce is right about 2 things:
- The web is a mess of shoe-horned technologies
- Bruce Eckel doesn’t know squat about web design
There are ways to fairly consistently render lots of things across modern browsers, even to center things. They’re not intuitive to the CSS beginner, though, not by a long shot. Many of the html/xhtml elements he mentions are deprecated and for good reason: they are/were mostly proprietary elements created by browser authors and not implemented by enough browsers nor important enough to document structure.
No these technologies are not perfect, but they have come a long way and are better supported now than at any time in the short history of the web. In order to use CSS properly, you have to start with a semantically structured html/xhtml document and then have the knowledge that many print-media designers lack: web pages should be designed to be fairly flexible and scalable with a focus on the content and on the user and not on a static
photoshop mockup.
1 comment so far ↓
Good points.
Yes CSS is about suggested rendering of a page. I try to tell myself this when ever IE makes it’s usual dogs breakfast of css.
Leave a Comment