<<Back to Week 2 | 1 | 2 | 3 | 4

An abbreviated history of CSS

The founding premise of the internet was information sharing. Hence, when Berners Lee wrote the original specification for HTML, the main concern was transmitting text and images in a way open to a wide range of computer systems-- content and universal accessibility was its driving force. The original HTML specification, therefore, included only rudimentary methods for controlling the way things looked.

During the late 1990’s, as the web became mainstream and commercialized, the limitations of HTML became apparent. HTML includes both structural tags ("this is a paragraph," or "this is a link") and presentation properties ("make the background purple," "make this text really big"). Because web designers were trying to do things with the presentation properties to make their pages look good (and commercially viable) the HTML code became bloated to the point that pages often took longer to download the formatting instructions than the content.

Exacerbating the problem was the fact that new display technologies such as telephones and other mobile devices were coming online. These devices could not use the content of HTML pages because they needed different instructions to display them properly. It became clear that the content and the instructions for its display needed to be separated.

In response to this, in 1998 the World Wide Web Consortium, or W3C, released the first recommendation for XML: eXtensible Markup Language. XML is a specification for data exchange between computer programs. It does not take into account the visual needs of human beings. In January of 2000, the W3C incoporated XML into a browser language, XHTML (eXtensible HyperText Markup Language). Along with the XHTML specification, W3C released a specification for Cascading Style Sheets, or CSS. The magical key to this combination is that a new conceptual model was born, with XHTML given responsibility for the content and CSS given responsibility for the presentation of the content.

Leaving aside any discussion of Marshall Mcluhan, then, it can generally be stated:

XHTML = Content

CSS = Presentation

What is CSS?

CSS stands for Cascading Style Sheets, which probably does not give you any better idea of what it means than you had before. So lets look at the words individually. The word "Cascading" in the physical worlds brings up images of water flowing from a high spot to a low spot. So if you were to imagine putting a gallon of green dye into the water at the top of a cascade, you would watch it spread from where you dumped it to everything below it. Looking behind you, you would notice that the dye does not affect the water above you. CSS operates on a similar principal. Analogies are never perfect, but just remember the idea that a change above affects everything below.
When you think of the word "Style" in the physical world, you might think of fashion, the clothing a person wears, the way they talk, or their physical appearance. Similarly with CSS, "style" refers to the way objects on screen are presented. "Attributes" are the individual elements of an object's style and can involve font, color, position, borders, backgrounds, and many other physical features. In CSS, words, images, or other media are the content, and style refers to the presentation of the content.
The word "sheets" is probably self-explanatory--physical world analogies would include: rule sheet, rap sheet, instruction sheet. The important aspect of this word in the context of the "CSS" name is that the rules concerning the display of the content are external to that content.

<<Back to Week 2 | 1 | 2 | 3 | 4