History

Originally, HTML was styled directly with HTML constructs (<font>, @bgcolor, etc.).

In 1995, CSS was selected by the W3C as the styling language they would develop for the web.

It took a decade for CSS to be well-supported enough to be truly useful on the web.

The Basic Model

A DOM tree is transformed into a CSS element-tree.

Selectors are resolved againt the element-tree.

Values are assigned to properties and computed.

A box-tree is created from the element-tree based on the applicable properties.

The box-tree then controls the display of the page.

Selectors

Selectors let you target elements in the DOM (really, the CSS element-tree), so you can apply properties to it.