Thursday, December 15, 2011

CSS: How Came to Be



byRichard York

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. Eventually, because of a series of bad decisions and setbacks on the part of Netscape as a whole and Netscape’s management, Netscape ultimately began losing market share, and Microsoft’s Internet Explorer (IE) browser grew more and more popular. At IE’s peak, it held 95 to 98 percent of the browser market share. Although IE has since lost market share to the likes of Mozilla Firefox and Safari, at the time of this writing, IE is still the dominant browser, most firms putting IE’s market share at 50 to 85 percent, depending on the web-site’s audience. Mainstream sites will see upward of 85 percent, but technical websites may see around 50 percent. Your own website’s browser statistics will depend largely on the content of your site. One such site to reference for statistics is http://www.upsdell.com/BrowserNews/stat.htm. However, keep in mind the quote, “There are lies, damn lies - and statistics” - Disraeli (later made famous by Mark Twain).
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 plenty of CSS support to do away with most presentational HTML design. More ironic still, among the browsers with the best CSS support is Netscape’s browser, and its open source offspring, Mozilla Firefox. 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 declined since the release of Internet Explorer 5. We can only speculate as to why Microsoft’s browser declined in its support for CSS.

No comments: