Peter-Paul Koch declares his love to CSS …

Interview: timo / 18. August 2005 /

Peter-Paul KochPeter-Paul Koch is a freelance web developer in Amsterdam, the Netherlands, specializing in client side programming (XHTML, CSS, JavaScript). He writes and maintains, a major resource for browser incompatibility issues.

Why do you love CSS?
Because it’s such an elegant solution to a problem I at first didn’t even see. When I discovered CSS back in 1998, I immediately thought “Wow!”. I only used it for a few badly designed borders in an otherwise table-based site, and when I checked in Explorer 4 they didn’t work. Nonetheless it was love at first sight.
I started using CSS seriously at the end of 2000, and discovered that it forces you to think differently, and, as far as I’m concerned, more in line with the purpose of the Web. This was the problem I didn’t see at first. The Web was too print-like, and the CSS revolution started solving that problem.
Where graphic designers who didn’t really understand the Web ruled supreme in the table-era, the advent of CSS forced us to use more Web-like designs, and forced designers to really get into the Web or look for another job.
And, of course, CSS allows you to concentrate all your presentation in one file. I vividly remember that when back in 2000 or 2001 I had created a hybrid CSS/table site and the client said “Well, I like it, but I’d like the text to be slightly larger”, I only had to edit one single line to solve the problem within a few seconds. That’s the power of CSS.
What drives you crazy when using CSS?
First and most obvious, browsers.
Secondly, I feel there are some small oddities in the CSS specs that make life more difficult than it ought to be. The lack of vertical alignment for anything other than TDs or the lack of a simple grid mechanism are good examples.
Personally I never saw the point of the W3C box model; the traditional border+padding+content box model is much more logical for graphic designers, who are concerned with thevisible width of a box, and not with the content width, which nobody needs to know.
These oddities don’t drive me crazy, but they annoy me. I can work around them, but anything you have to work around is a problem. Besides, I feel that for beginning CSS designers they may still constitute a stumbling block, small maybe, but still present.
Why should people write well structured / semantic markup?
Because it makes life simpler. The best argument was provided by Andy Budd in his @media 2005 session: semantic markup makes your site more easily readable for other humans.
When you pass on your site to another developer, he’ll quickly understand what the text in the h1 elements is for, but he’d probably have a tough time trying to figure out constructs like <div class="toppage"><span class="redbig"><b>, which are unfortunately still used on less than perfect Websites.
I hid under my table during most of the semantic discussions that rocked the Web a few years ago, because I felt people were too much focused on tiny differences that don’t really matter, on pseudo-philosophical reasoning that didn’t really make sense, and because the discussion gave rise to semantic fascism.
Now that the discussion has finished, the results are in, and the fascists have largely disappeared, I must admit that semantic markup makes a lot of sense. It makes the life of web developers easier. Page headers always go in h1 or h2 tags, so you don’t have to think about it any more and can free up valuable brain resources for really interesting problems.
Finally, a well-structured site is important for CSS development, but it is absolutely crucial for unobtrusive DOM scripting, as we’ll see in the next few years.

All declarations of love



"Vorsprung durch Webstandards" ist ein Webzine zu Webstandards, Barrierefreiheit und Usability. In loser Folge erscheinen hier theoretische Texte, praktische Tipps und hilfreiche Links zum Thema.


Follow Vorsprung on Twitter


Falling in love with CSS

I love CSS

alle Interviews


Feed Neue Texte als RSS-Feed


Heike Edinger, heike.edinger at

Timo Wirth, timo.wirth at