CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts.
This separation can:
- Improve content accessibility
- Provide more flexibility and control in the specification of presentation characteristics
- Enable multiple pages to share formatting
- Reduce complexity and repetition in the structural content (such as by allowing for tableless web design).
CSS can also allow the same markup page to be presented in different styles for different rendering methods:
- Voice (when read out by a speech-based browser or screen reader)
- Braille-based, tactile devices
While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified.
CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable.
The CSS specifications are maintained by the World Wide Web Consortium (W3C).
Source: Cascading Style Sheets @ Wikipedia