Cascading Style Sheets: Designing for the Web, 2nd edition
Authors: Hakon Wium Lie, Bert Bos
Venue:  (1999)

From the Book:When the Web was in its infancy, seven years ago or so, I felt greatly relieved at the final removal of all the totally unsolvable problems of fixed format presentation. In the young Web, there were no more pagination faults, no more footnotes, no silly word breaks, no fidgeting the text to gain that extra line that you sorely needed to fit everything on one page. In the window of a Web page on the NeXTStep system, the text was always clean. Better that that: I decided what font it came out in, how big I wanted the letters, what styles I chose for definition lists and where tabs went. Then we descended into the Dark Ages for several years, because the Web exploded into a community that had not idea that such freedom was possible, but worried about putting on the remote screen exactly what they thought their information should look like. I've read recommendations against using structure markup because you have no control over what comes out the other side. Sad. You have by now understood that I'm firmly in the camp of those who think that quality of content comes first, and presentation comes later. But of course, I'm not entirely right here: presentation is important. Mathematical formulas are always presented in a two-dimensional layout. Fortunately, SGML's philosophy allows us to separate structure from presentation, and the Web DTD, HTML, is no exception. Even in the NeXTStep version of 1990, Tim Berneres-Lee provided for style sheets, though at a rudimentary level (we had other things to do then!) Today, style sheets are becoming a reality again, this time much more elaborate. This is an important milestone for the Web, and we should stop for a minute to reflect on the potential benefits and pitfalls of the technology. I followed the CSS effort from its inception - mostly over cups of coffee with Hakon at CERN - and I've always had one concern: is it possible to create powerful enough style sheet "language" without introducing the complexity of programming. The CSS described in this book shows that you can create some quite stunning presentations without programming. While the programmer in me may be a little disappointed, the minimalist in me is comforted. In fact, I'll never need this much freedom and special effects, but then I'm not a graphic artist. Anything that needs more compilation effectively becomes an image, and should be treated as such. I feel therefore that the middle part of the spectrum between pure ASCII text and full images is effectively covered by the power of CSS, without introducing the complexity of programming. You have here a book on presentation. But it is presentation of information that should also remain structured, so that your content can be effectively used by others, while retaining the specific visual aspects you want to give it. Use CSS with care. It is the long-awaited salt on the Web food: a little is necessary, too much is not good cooking. The efforts of the authors have finally brought us what we sorely needed: the author's ability to shape the content without affecting the structure. This is good news for the Web!