HTML and CSS Reference
CSS3 Proprietary and
Emerging Features Reference
This chapter aims to provide a complete reference for the emerging CSS3 and
proprietary CSS properties supported in modern browsers. However, given the
constant flux in CSS property support and the continued introduction of new
features, readers are duly warned to use this material as a jumping off point to explore the
latest styling features.
The State of CSS3
CSS3 is a sprawling specification that attempts to modularize CSS and both extend and improve
on previous CSS versions. Grandiose is the plan, but the reality at the time of this edition's
writing is that CSS3 is filled with half-started and apparently abandoned specifications, with no
updates for years or even nearly a decade, intermixed with lively and active modules.
Web professionals looking to make a determination of what to pay attention to in the
future of CSS3 are likely put off by the list of various components found at www.w3.org/
Style/CSS/current-work#CSS3. For all the downsides of having one large specification like
HTML5, at least there is an entry point that is obvious. To provide an overview, Table 6-1
summarizes the CSS3 modules with specifications (as of this edition's publication) and
provides a brief description of each.
A snapshot specification circa 2007 (www.w3.org/TR/css-beijing) suggested that some
of these modules are more important than others and that browsers should support all of
CSS 2.1, including errata CSS3 selectors, CSS3 colors, and CSS namespaces. We look at these
and a few of the larger syntax changes next before detailing the various new properties that
have been implemented by browsers.
CSS3 has gone somewhat overboard with its introduction of new selectors, making selector
syntax at times potentially quite confusing, particularly when chained excessively. Table 6-2
summarizes the selector syntax from the CSS3 Selector Specification that is different from
CSS1 and 2.1 selector syntax. The standard CSS1 and 2 selectors are not repeated here
because the focus is solely on what is different in CSS3.