HTML and CSS Reference
browsers because new levels only add new functionality or refine existing definitions. By working backward first,
the specification then has the opportunity to pave a solid path into the future.
CSS3 offers many new features to push the web forward and help improve the accessibility and
presentation of information. With the emergence of multiple ways to access the web, one of CSS3's most important
features is the Media Queries module, which builds on media types.
When CSS2 was developed, it became apparent there was a need to serve different styles based on how web pages
were being accessed, so media types were introduced. These media types allowed for specifying different styles for
particular devices, such as screen (intended for color computer displays), print (intended for printers and printed doc-
uments), and handheld (intended for small screen devices with limited bandwidth).
With such a varied range of handheld devices on the market today, defining those devices within the handheld cat-
egory certainly isn't descriptive enough. Likewise, desktop displays differ greatly in features too.
CSS3's Media Queries module builds on media types, allowing a developer to query particular aspects (such as
width and height) of the device and environment on which a web page is being viewed and specify styles to be ap-
plied only when certain conditions are met.
The specification also adds new presentational features such as gradients and rounded corners to make easier some
of the tasks developers have been doing for years, more ways to select the elements to be styled (called Selectors),
and web fonts, which sees the number of fonts you can safely use go from tens to thousands—if not tens of thou-
Working Draft and the CSS Process
At the time of writing, the overall CSS3 specification is incomplete. To make reading and implementing it easier, the
specification is broken up into modules. While some of these modules are complete, others are still being written or
tested. Modules go through varying stages to determine how far from being complete they are and also serve as
an indication of whether you should use them:
• Working Draft —A module that is incomplete and still being worked on.
• Last Call —A module that is considered to be complete. This module will move toward Candidate Recom-
mendation unless significant issues arise.
• Candidate Recommendation —All known issues are resolved and the features of the module are ready to
be implemented into web browsers.
• Proposed Recommendation —Features of the module are implemented in at least two web browsers and
the module is reviewed by W3C Members one last time.
• Recommendation —The module is complete.
When implementing features from modules that are Working Draft or Last Call, those features should be used with
a vendor prefix; this ensures you are using experimental features in a way that prevents incompatibilities should
there be changes to modules in the future.
You'll learn exactly what a vendor prefix is and how to use them in Chapter 5.