Glossary » cascading stylesheets
CSS; a method for specifying the look of a web page independent of the markup of the structure of that page.
The original intent in HTML markup was to specify the structure of a page and allow the individual user to determine how that structure should be displayed. Thus, marking something with the <H1> tag indicated it was a header, but would not specifically indicated how headers are formatted, i.e. at a certain font size, spacing, and indentation. This approach worked fairly well in the early days of the web while the users were researchers sharing information about their organizations and research with each other. This approach also works fairly well for making web pages accessible to those who have visual impairments because a browser can be created to present the same information in a non-visual mode.
However, the web quickly became a commercial tool, and was soon used for marketing, entertainment, and challenging communication tasks that required significantly more control over the format of the presentation. The initial temptation was to skip the use of “semantic” tags like <H1> that only indicate the meaning of what they tag and instead use “formatting” tags like <B> (bold) and <font> (for choosing a font) to get the exact effect required. Because this would mean losing the semantic information in the document, users have less control, the document becomes less accessible to the disabled, and automatic processing of documents by computer programs becomes more difficult.
As a result, cascading style sheets were created. They allow the HTML programmer to specify that semantic tags like <H1> have a preferred appearance (font, size, color, spacing, etc.). They also allow multiple documents to share appearance specifications, permitting the change of appearances to be much simpler.