CSS History

CSS is needed when developing modern websites. Without the Cascading Style Sheets, the design and layout of modern websites are tacky, plain at best. The birth of CSS started in the year of 1994. At the World Wide Web Consortium, Håkon Wium Lie and Bert Bos contributed in developing a method to style documents. Although the theory of incorporating a separate style sheet language within a Web page wasn’t a revolutionary idea, “Håkon saw the need for a style sheet language for the Web,” since there were none applicable for practical use at the time. Back in 1990, when Tim Berners-Lee published the syntax for the style sheets, it didn’t give each browser much of an option to “best display pages to its users.” Instead of letting the style sheet match each user, it gave out a strict method and a guide to the users’ browsers to display a certain page in that way. No matter how much of window sizing, the Web page display and the layout would stay the same throughout. When the Web pages were made popular by National Center for Super computing Applications with their Mosaic in 1993, “it was a backwards step” in terms of style “as it only allowed its users to change certain colors and fonts.” Leaving not much of configuration to be freed within the experience for the users.


Later, when one of the programmers for NCSA Mosaic, Marc Andreessen, co-founded a new browser called Netscape, he utilized his opinions on the NCSA Mosaic and put it in to use in the Navigator. When the release of Netscape became public, Håkon published the first draft of Cascading HTML Style Sheets. This draft proposed a “simple mapping between HTML elements and presentation hints.” Unlike the initial release of Time Berners-Lee’s syntax for the style sheets, Håkon’s proposal “provide[d] logic to make presentation decisions based on the user’s environment.” For example, the Web page will display situational display depending on the size of the user’s screen or the current date. Which is an ingenious method of keeping the theme of the Web page, but formatting the content size based on the user’s resolution. In Håkon’s proposal for the Style Sheets, he stated reasons why the style sheet functionality at the time was not sufficient. Håkon’s reasons were that the “current style sheets are static; they seldom change within the lifetime of a browser process. This makes the visual environment sparse”, “the current style sheets are implemented using platform-specific notations. While some may consider this to be a feature, it prohibits general mechanisms for passing styles over the web.” Lastly, “the author of HTML documents has no influence over the presentation. Indeed if conflicts arise the user should have the last word, but one should also allow the author to attach style hints.” While it is very unthinkable to imagine what the Web pages would look like without these corrections to the style sheets at the time, it was a real struggle for developers trying to convene a universal way for the Web pages to follow. In Håkon’s ‘Cascading HTML style sheets proposal, Håkon says that the style sheet that he is proposing, the scheme is balanced in the sense that it provides the author and reader with the same notation for specifying style. While the author of the Web page desires to design their Web page with a certain look and feel, the reader may have their own preferences that they have while viewing or surfing the Web. While the Håkon’s proposal may not completely redefine the Web developing community, it is a step towards the Web developing languages that balances the power struggle between the author and the reader like we have today.

While Håkon’s style sheet was being proposed, he was not the only one with the proposal in mind. Rob Raisch from O’Reilly & Associates also proposed his. Raisch’s proposal remained as a “set of hints or suggestions to the renderer which might be used to display particular HTML objects in the fashion the author of a document originally intended.” Meaning that, Raisch is making another Web page within a web page to match the suggestions for the readers to may or may not follow. Which gives power to the author and not the reader. In Raisch’s proposal, he states that the Web pages should look like this, but it can also look like this. While two ways of viewing a Web page is available, it doesn’t matter which way the reader prefers to view the Web page since they are only two ways to display it. Of all the details and power struggle between the author and the reader proposed by other people, the Cascade Style Sheet proposed by Håkon stood out due to the fact that it took into account that Web pages are not a one way street that either authors or readers has the power make a Web page look the way they want; “but that their wishes had to be combined, or ‘cascaded.’”

Due to the fact that the Cascade Style Sheet proposal by Håkon addresses the issue on the power struggle between the author and the reader, when the next World Wide Web conference in April 1995 came around, the Cascade Style Sheet brought up a political debate on author-reader balance. Author represent argued that they had to be in ultimately in charge in cases of “legal requirements on how warning labels has to be printed and the user should not be able to reduce the font size for such warnings.” While the reader side argued that because the readers have to take in the information given by the author and understand what is presented before them, the readers should have the last say.

After the political debate and W3C was founded, the CSS1 was narrowly used, but the browser race has begun. The first browser to support CSS was Internet Explorer 3 which was released in August 1996. The second browser to support CSS was Netscape’s Navigator, version 4.0. The Navigator was a result of trying to prevent IE3 from becoming the standard browser used by many people. Due to this hasty attempt, many of CSS properties cannot be used in Navigator 4. Unlike Netscape’s Navigator, version 4.0, Microsoft’s Internet Explorer 3 reliably supported most of the CSS properties given in the CSS1 specification with the exception of implementation of the box model. What Navigator did was not implementing CSS entirely, but rather translated the CSS rules into bits and pieces of Javascript which resulted in running multiple languages to support the CSS rule. If Netscape was successful with their Navigator version 4.0, then the Web pages authors would’ve had to write codes alongside of the CSS.

While Navigator failed to display CSS correctly, Microsoft continued to work to improve Internet Explorer. When Microsoft released IE4, they implemented a module named “Trident,” which “removed many of the limitations in IE3, but also came with its own set of limitations and bugs.” Although Internet Explorer did not fully support CSS1, it was capable of “dynamically changing stylistic properties,” which utilizes Dynamic HTML that is an integral part of CSS.

When thinking about the modern day Web pages, it is often overlooked at how many hurdles people have overcome to publish something you can find today on the Web. Just by looking at the history of CSS, it is clear that a lot of collaborations, and effort were put in place for this power struggle that was present in the past. While it was difficult for CSS to be fully implemented in the Web pages and browsers, once happened the capabilities of CSS grew even larger. In CSS 1, the main properties regarded the manner of: CSS Syntax, Color and background, Font and text properties, Cascade, Pseudo Classes, and Box properties. Previously stated properties are just some basic features of the Web page we see today that were proposed and developed through a lot of people in order to have CSS become the universal style sheet. However by the time CSS 2.1 and CSS 3 rolled out, a lot more improvements were made. For example, in CSS 2.1 the improvements made were: Selectors, Media Types, Box Model, Visual Effects, Generated Content, Tables, and Paged Media. As CSS1 paved the ground for CSS to stand, the focus became evident in the improvements made in later versions. Lastly, in CSS3 the properties improved were: MathML, Color L3, Name Spaces, Selectors L3, Media Queries, and Style Attributes, with Generated Content, Paged Media (improvement), Transforms, Transitions, Ruby, Grid Layout, Web Animations, and Selectors L4 currently being in the development. While impressive Web pages today that utilize multiple languages show off CSS, the development for CSS is not yet complete. Although the next level of CSS is not yet planned, we can still tell by the Level 4 Selectors within the CSS3. It is thanks to the developers and authors who implement the up-to-date CSS properties that the Web pages we see today aren’t plain or tacky at best.

References on CSS

Cascading Style Sheets, designing for the Web, by Håkon Wium Lie and Bert Bos (2nd edition,1999, Addison Wesley, ISBN 0-201-59625-3)

Request for Comments: STYLESHEETS by Rob Raisch(http://1997.webhistory.org/www.lists/www-talk.1993q2/0445.html)

Cascading HTML Style Sheets – a proposal (https://www.w3.org/People/howcome/p/cascade.html)

Selectors Level 3: W3C Recommendation 29 September 2011 (https://www.w3.org/TR/css3-selectors/)

Selectors Level 4: W3C Working Draft 29 September 2011 (https://www.w3.org/TR/2011/WD-selectors4-20110929/)

Interested In hiring this web design company for your next project?

Get In Touch
Learn more about our website services such as, WordPress, Animation, HTML 5,  website hosting and web designing. There are other website solutions we provide, but not limited to these :

Contact us for a quick quote, you'd be glad you do and understand why we believe we have mastered the science of web design.

Share This

Share this post with your friends!