Outer Court Quick Guide to Web Development

What's CSS?

CSS (Cascading Style Sheets) are the way to layout a page. CSS can be applied to different media, like screen or print. Not every browser actually understands this style language, but since the document structure is marked up in XHTML, the rendering will still be meaningful.
Style sheets are usually excluded from the actual XHTML files. They can be put in a single place, be accessed globally by all documents, and make quick changes to the complete site structure possible.

Two flavors

CSS arrived in level 2, which brought with it page element positioning. Not every browser understands positioning correctly and it's one of the big hassles of practical web development.

Working together
Browser default style sheets, user style sheets

The concept of CSS is cascadance; a browser brings with it its own style sheet; a user can put a stylesheet on top of it; finally the web author arrives with a third one. This approach doesn't always work smoothly in practice, since nobody knows what the other is up to.
The browser manufacturer isn't too sure what a good default rendering of logical elements might be. The typical user doesn't understand the concept of good layout (he will know when he's confused, but not know why); the typical user doesn't have the time or knowledge to alter option to suit him perfectly. The web author has to make compromises because there's no clear target group.

Misusing CSS

What is done often, but shouldn't be done: