How CSS Came to Be?

During the mid-1990s, use of the Internet exploded. At that time, HTML was the only option for presenting a web page. As the Internet began to be used by more regular folks (as opposed to government, educational institutions, and researchers, as in the early days), users began demanding more control over the presentation of HTML documents.

A great quandary arose; clearly HTML alone was not good enough to make a document presentable. In fact, not only was it not good enough, HTML alone simply wasn’t suited for the job. HTML did not have the functionality that professional publishing required and had no way of making magazine-or newspaper-like presentations of an electronic document.

At the time, style sheets were not a new invention. In fact, style sheets were part of the plan from the beginning of HTML in 1990. Unfortunately, however, no standardized method of implementing style sheets was ever outlined, leaving this function up to the various browsers.

In 1994, Tim Berners-Lee founded the World Wide Web Consortium, and a few days later, Håkon Wium Lie published his first draft of Cascading HTML Style Sheets. This draft was a proposal for how HTML documents could be styled using simple declarations.

Of those that responded to Håkon’s draft of Cascading HTML Style Sheets was Bert Bos, who was working on a style sheet proposal of his own. The two joined forces and came up with Cascading Style Sheets. They dropped HTML from the title, realizing that CSS would be better as a general style sheet language, applicable to more than one type of document.

CSS caused some controversy at its inception because part of the underlying fundamentals of the new style sheet language was that it created a balance between the browser’s style sheet, the user’s style sheet, and the author’s style sheet.

Some simply didn’t like the idea that the user could have control over the presentation of a web document. Ultimately, however; the Internet community accepted CSS. Among CSS supporters was Microsoft, who pledged support for the new style sheet language in its Internet Explorer web browser.

Netscape, on the other hand, another popular web browser at the time, remained skeptical about CSS and went forward with a style sheet language of its own called JavaScript Style Sheets, or JSSS. Ultimately, Netscape’s style sheets were not successful, and Microsoft’s Internet Explorer browser grew more and more popular.

At the time of this writing, IE is the dominant browser. During the time that CSS was being planned, browsers began allowing HTML features that control presentation of a document into the browser. This change is the primary reason for much of the bloated and chaotic source code in the majority of websites operating today on the Internet.

Even though HTML was never supposed to be a presentational language, it grew to become one. Unfortunately, by the time CSS level 1 was made a full W3C recommendation in 1996, the seed had already been planted. Presentational HTML had already taken root in mainstream website design and continues today.

However, all is not lost. Today, the most popular browsers have fantastic support for Cascading Style Sheets. Ironically, the browser exhibiting the least support is Microsoft’s Internet Explorer for Windows, which still has enough CSS support to do away with most presentational HTML design.

Among the browsers with the best CSS support is Netscape’s browser. This may beg the question: If Microsoft was such an avid supporter of Cascading Style Sheets in the beginning, why is Microsoft’s browser the least standards-compliant today?

The answer is that Microsoft did indeed follow through with its promise for CSS support, and it was the most comprehensive and impressive implementation of CSS even up to the release of Internet Explorer 6 in 2001.

Even so, CSS implementation in Internet Explorer has been declining since the release of Internet Explorer 5. We can only speculate as to why Microsoft’s browser no longer offers the best CSS support.