Curious case of css: an origin of cascading style sheets
Tags: css, webdev, html
Published: 2022-11-27 14:50:00

CSS stands for cascading style sheet.  These sheets are used today for styling how HTML will look using a simple declarative syntax. 
Style sheets have existed in one form or another since the beginnings of Standard Generalized Markup Language (SGML) in the 80s. The problem was each browser had its own idea of how stylesheets should operate and what their syntax should be. These sheets and their capabilities were limited at best. Many web developers at the time complained they lacked styling options for their sites. And you can forget about cross browser support for those limited style options. That all began to change in 1996 with the release of the css standard. While it took a while to catch on css was a big step towards the modern web we know and love today.


## Whos idea was this anyways?
It all started with a Norwegian man, Håkon Wium Lie Back in 1994. This was at a time with less than 40 million internet users in the world. A very different landscape compared to the modern web, and it sure didn't look good. You had more control how your document looked in a word processor than you did on the web. Lie looked to solve this. He hoped to create a universal standardized style sheet for the World Wide Web. 
He spent time proposing his new style sheet to the W3C and at many tech conferences. Bert Bos was another developer who proposed an alternative style sheet but ended up joining forces with Lie to help create CSS. While the interpersonal relationships of these people and how they resulted in CSS being released is interesting, Including it would make this article a novel. So just know the following people played integral roles in setting the css standard and its early adoption. 
Marc Andreessen, Robert Cailliau, Tim Berners-Lee and Thomas Reardon of Microsoft, who pledged support for CSS in upcoming versions of Internet Explorer.

## So why CSS
As I had mentioned before, styling sheets have existed since the 80s. Even in 94 there were at least 10 other proposed style sheet languages.
So what made this one special?
CSS has one feature that distinguishes it from all the others and it's right in the name, cascade. This refers to a structure of inheritance which is effective because it takes into account that on the Web, the style of a document couldn't be designed by either the author or the reader on their own. Both author and reader need their wishes to be combined, or cascaded, in some way; and, not just their wishes, but also the capabilities of the display device and the browser. Today we call this specificity.  


## Long road to adoption 
While you would expect for something like CSS to become a standard overnight due to the demand. this was not the case. In fact it took about 4 years to be exact.
The specification for CSS was published in 1996 and it wasn't until 2000 when internet explorer for the mac os announced 100% implementation. That's right it was internet explorer 5, created for use on Mac OS that first to have full css support. By 1998 a level 2 of CSS came into existence hoping to fix and improve upon the original standard. Again not a single browser had 100% implementation of CSS level 1 when they released level 2. At this point work began on CSS level 3 which is technically still under development as it is published in modules that affect specific aspects of the language as a whole. 


From today's stand point html and css go hand in hand. But as we just learned that wasn't always the case. If you ever found css to be full of outdated practices and techniques it's because it is and now we partly know why. It's over 25 years old, took a long time for major adoption and is updated in modules. This is why a simple declarative styling sheet can have just about any developer pulling their hair out finding a way to center that div. There is a lot to this story and I have only really given you a brief explanation of some key points. I feel that learning about how technologies like this are created helps us to understand them better. Anyways stay safe and have fun writing css out there in the big bad world.