CSS is organized as a standards family, not as a single versioned language. The specification evolves in levels and modules, while browsers implement a moving subset of those documents.
Levels And Modules #
The W3C standardized CSS as a level-based system from the start. CSS 1, CSS 2, and later levels were not just minor revisions; each level changed scope and structure enough that older documents became partially obsolete.
Modern CSS is described through modules such as:
- Colors;
- Backgrounds and Borders;
- Flexbox;
- Grid;
- Values and Units;
- Media Queries.
That modular design lets specifications evolve independently, thus browsers can ship features incrementally.
Property Values #
CSS properties operate on several value stages:
- specified value: the value written in the stylesheet;
- computed value: the resolved value after inheritance and relative units are processed;
- used value: the value after layout constraints are applied.
Inheritance follows computed values, thus a child does not inherit a raw percentage when the parent has already resolved it to an absolute length.
For example:
.box {
width: 80%;
}If the parent width is 1000px, the computed width becomes 800px.
display
#
The display property controls both outer and inner layout behavior.
<display> = <display-outside> <display-inside> <display-listitem>The practical meaning is:
- outer display controls how the box participates in normal flow;
- inner display controls how children are laid out.
That is why display is not just a cosmetic property. It changes the formatting context.
Length Units #
Absolute and relative units solve different problems.
Common absolute units:
pxcmmminptpc
Common relative units:
emexchcaplhic
Relative units are useful because they scale with font metrics and writing mode.
Standards Documents #
The key reference documents are:
- the CSS specification index;
- CSS snapshots, which summarize the current state of the platform;
- individual module drafts, which define feature families.
That structure matters because the word “CSS standard” usually means a set of living documents, not a single monolithic manual.
Practical Rule #
When writing CSS, keep three layers separate:
- property syntax;
- computed layout behavior;
- the standard module that defines the property.
That separation makes it easier to debug browser behavior and to track which parts are stable, experimental, or obsolete.
Comments
Read or comment on GitHub (sign-in required to comment)