propertyvalue
created$=dv.current().file.ctime
modified=this.modified
Håkon Wium Lie

CSS has several notable features including: cascading, pseudo-classes and pseudo-elements, forward-compatible parsing rules, support for different media types, and a strong emphasis on selectors

Style sheets constitute a wormhole into unspeakable universes. - James D Mason

Notable in the ToC - we see Cascading Links. Curious to read this.

Goes over Tim Berners-Lee’s 3 specs for WWW project. HTML as doc format for the web. URL for links between documents, and HTTP for transfer of the documents.

Scientific environments such as CERN value logic, structure and content more highly than aesthetics, imagery and style. This sense of structure is reflected in HTML. Each paragraph is marked as such and headings are given a numbered level to indicate their place in the document structure.

By adding presentational tags to HTML the language evolved from being an abstract, structured markup language where different logical roles were added to the text (p, h1) towards a concrete presentation language where emphasis is on the final form presentation of the documents (fonts, colors and layouts)

Late binding: combination of the content and presentation after the authoring is complete. Publishers found this appealing because a consistent style could be achieved across a range of publications. Authors could focus only on content.

On cascading: an ordered list of style sheets. The initial sheet is supplied by the user, but hands over most of the influence from sheets referenced in the incoming document.

Readers could accept the documents in a form, where they could use the suggested presentation or specify their own.

Abstraction ladder detailed

Problems in CSS

From spelling errors, to whether CSS fulfills its intended role.

  • Missing functionality
    • traditionally CSS has valued simplicity over functionality
    • centering: it is not possible to center an element vertically on the screen - dear god!
    • UI - CSS was primarily designed to present documents, not user interfaces.
    • Multi-column Layouts where content automatically flows from one column to another isn’t possible.
  • Excessive functionality
    • box mode - block-level padding, border and margins make sense to have but not for inline elements.
  • Self inflicted
    • selector abundance
    • property abundance
    • island problem - the cascading mechanism is able to combine several style sheets but there is no general mechanism for rules in one sheet to be based on rules in other style sheets.
    • positive problem - rules in CSS can only express positive statements (i.e. an element can be red, but a rule cannot say the element cannot be blue)
    • positioning problem - some supported properties do not cascade well.

A non-stylistic use of CSS.

A {
-o-link-source: attr(HREF);
-o-link: current;
}

o-link-source property identifies the URL of the anchor o-link property turns an element into a source anchor

Clink is an example of a non-stylistic use of CSS. Instead of stylistic properties, Clink distributes properties that describe linking information onto elements.