Håkon Wium Lie & Bert Bos

Håkon Wium Lie

Håkon Wium Lie proposed CSS in 1994 and is still hard at work on CSS specifications. He is the CTO of Opera Software and a champion for CSS compliance in all browsers. Lie is also a director of YesLogic, the company behind the CSS-based Prince formatter, which was used to produce a book he co-authored: Cascading Style Sheets: Designing for the Web. He has a Masters degree from the MIT Media Lab and a PhD from the University of Oslo. He is an advocate of Acid2, the video element, web fonts, and growing apples. Real apples.

Bert Bos

Bert Bos proposed and implemented his own style sheet language before joining forces with Håkon Wium Lie at W3C in 1995. He was the co-author of the original CSS specification and launched W3C's internationalization activities. He is currently the Style Sheets activity lead at W3C.

Why We Use CSS

CSS stood out because it was simple, especially compared to some of its earliest competitors.

CSS is a declarative programming language. When we write CSS, we don't tell the browser exactly how to render a page. Instead, we describe the rules for our HTML document one by one and let browsers handle the rendering. Keep in mind that the web was mostly being built by amateur programmers and ambitious hobbyists. CSS followed a predictable and perhaps more importantly, forgiving format and just about anyone could pick it up. That's a feature, not a bug.

CSS was, however, unique in a singular way. It allowed for styles to cascade. It's right there in the name. Cascading Style Sheets. The cascade means that styles can inherit and overwrite other styles that had previously been declared, following a fairly complicated hierarchy known as specificity. The breakthrough, though, was that it allowed for multiple stylesheets on the same page.

See that percentage value above? That's actually a pretty important bit. Lie believed that both users and designers would define styles in separate stylesheets. The browser, then, could act as a sort of mediator between the two, and negotiate the differences to render a page. That percentage represents just how much ownership this stylesheet is taking for a property. The less ownership, the more likely it was to be overwritten by users. When Lie first demoed CSS, he even showed off a slider that allowed him to toggle between user-defined and developer-defined styles in the browser.

This was actually a pretty big debate in the early days of CSS. Some believed that developers should have complete control. Others that the user should be in control. In the end, the percentages were removed in favor of more clearly defined rules about which CSS definitions would overwrite others. Anyway, that's why we have specificity.

Shortly after Lie published his original proposal, he found a partner in Bert Bos. Bos had created the Argo browser, and in the process, his own stylesheet language, pieces of which eventually made its way into CSS. The two began working out a more detailed specification, eventually turning to the newly created HTML working group at the W3C for help.

It took a few years, but by the end of 1996, the above example had changed.

CSS Reset