History of CSS

Composing an HTML document is a bit like packing all your stuff into boxes as you prepare for a big move. You put related items together in a box and then stick a label on the outside describing its contents. The labels allow you or your movers to navigate the otherwise indistinct towers of cardboard. But when you get to your new place, the labels don't tell you how to arrange the unpacked contents. That decision is left to you and your aesthetic sense. Similarly, HTML tags only describe the structure of your content. How the browser displays that content is a separate process of applying styles. The tool web developers use for styles is Cascading Style Sheets (CSS).

CSS got its start in the mind of HÃ¥kon Wium Lie, a Norwegian computer scientist and colleague of Tim Berners-Lee. There were many debates in the mid-1990s about how to influence the presentation of HTML. Many of the proposals suggested having a single source or origin of style rules, but Lie and his co-inventor Bert Bos argued that web developers needed multiple origins.

Lie and Bos believed that the browser itself should be one of the origins, providing a default set of style rules. However, the browser's rules could be overridden by a more important origin: the author of a webpage. The author would provide custom styles to give a page unique branding. Yet even these styles could be overridden by the most important origin: the viewer. The viewer might have needs that trumped the author's artistic vision, like a need for higher color contrast or a bigger font size.

This ranking of origins puts the cascading in CSS. The style rules topple down from the least important origin to the next most important origin, which replaces some rules and adds others. The cascade progresses until the viewer's style rules are integrated. Folks liked this idea of multiple origins enough for CSS to gain an official endorsement from the W3C in 1996.

After CSS, Lie continued to advocate for a friendlier web. In 2005, he penned an open letter to Bill Gates of Microsoft, challenging him to make the upcoming Internet Explorer 7 comply with web standards. Lie was tired of the fragmentation that pervaded the web, which which required developers to add complex conditional logic to provide a uniform experience. He initiated the development of Acid2, a test of a browser's compliance of the HTML and CSS specifications. IE7 never passed the Acid2 test, but a version of IE8 did. IE10 failed it. Browsers' conformance to web standards is a lot better than it was in the 2000s and 2010s, but work remains.

Lie served as chief technology officer for Opera, the company that makes the Opera web browser. Opera has never had a huge share of the browser market, but Lie explained in an interview his choice of workplace:

I joined Opera when I saw that Opera was able to implement as much of CSS in three months as Netscape and Microsoft could in three years.

Opera is historically known for its compliance with CSS standards. Lie is also a founding member of the Pirate Party of Norway. This political party is much more prevalent in Europe than in the United States. One of their core principles is to fight restrictive copyright laws. Lie summarizes his outlook on technology and politics in this biographical statement:

My political manifesto can be summed up as: Global information, local production! That is, one should freely exchange bits of information at a global level, but atoms (including food, furniture, and people) are much harder to transport and there are natural restrictions. Rather than packaging and transporting stuff, spare parts can be printed locally and fish should be programmed to swim to their destination. You should know the name of the person who made your shoes.

Some of this probably gets lost in translation.

Lie's personal beliefs are not necessarily important for learning CSS. But we include it hear to remind you that the web is the invention of humans. Both Berners-Lee and Lie are humans with principles. They did not just sell their souls to whoever gave them money. Rather, they advocated for an open and accessible web.