If you've followed this series from the beginning , we discussed about the HTML Specification which is sort of a rule book that tells browser vendors how to implement HTML Elements and Tags. The CSS Specification is no different but with a different approach with the advent of CSS3.
The Specification defines how CSS properties should be implemented by browser vendors along with detailed algorithms, code samples and tabular information.
The Specification also include:
- The syntax and data types of the language
- Detailed explanation on CSS Selectors
- How you can assign values to properties
- The Cascade (the "C" in CSS)
- How inheritance works
- The Box Model e.t.c
Explanation on some of these topic are short and easy to understand while others are explained in great detail.
The Specification also specify how stylesheets can be included in your web document and how to target specific media e.g print or screen.
The CSS Specification prior to CSS3 was a single Specification, CSS3 on the other hand is divided into Modules which are Independent Specifications that can be worked on by different author(s) at different paces, that's why we have Selector Level 3 Specification, CSS Color 4, CSS Backgrounds and so on. Some of these modules are revisions of CSS2.1, and some are newly created, but all fall under the banner of CSS3.
The Specification should be your guide if you need to understand how a specific property or feature works behind the scene and how it works with other CSS properties. And if you are comfortable reading algorithms you won't get bored reading the CSS Specification.
The Specifications can be accessed online along with the author(s) name and when its was last updated.
Take your time and familiarize yourself with the Specification because we will be making heavy use of it in the topic: CSS Selectors.
Next, CSS Properties.