A Programmer's Perspective of CSS
Although it is certainly not always the case, I have often seen web application shops polarize into two camps:
- The "designer/artist" camp, that concentrates on the client side and its "look and feel";
- The developer camp, that has somewhat retreated to the server side, and concentrates on serious issues of high availability, transactional integrity, and other ACID things (J2EE).
I have observed CSS technology championed not by programmers but by "designers" (for lack of a better term). Designers have wielded CSS to improve the "state of the art" in online publishing from a soup of tricks and hacks into something that is somewhat manageable and clean (let's resist the tendency however to replace html hacks with css hacks).
- the use of blank images as a poor man's spacer;
- the [offensive] use of repeating non-breaking spaces ( ), also for spacing
- the use of html tables to simulate the css box model (margins, borders, and padding)
- the use of html table for layout and positioning (for which css provides an alternative)
- font styling with the <font> tags
What I see lacking, and where this modest site hopes to contribute, is in encouraging the use of CSS by programmers and developers:
- as a tool for refactoring the client side (with respect to "web")
- as a tool to wield the modern browser (as in mozilla 1.x) to its potential
- specifically, to take advantage of modern browsers' layout engines potential to reflow content dynamically (without having to consult the server), and to restyle a document dynamically (again, without consulting the server).
Thus, I treat CSS here as a technology that is useful for client-side developers. This site is not about making a page look as nice as it can be. It's about making a web application's user interface as usable as it can be. Here you will find a programmer's perspective on CSS.
One last word: this site is just as much about the philosophical aspects of CSS as it is about the samples. I hope you'll find some of the writings on the top box interesting.