Copyright © 2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
[Establish the context (style sheets -> CSS -> CSS3 -> modules...) and summarize the module here.]
This is a member-only draft. It may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
The (archived) mailing list w3c-css-wg@w3.org is preferred for discussion of this specification.
This document was produced by the CSS Working Group (part of the Style Activity).
[Change or remove the following CR exit criteria if the spec is not a module, but, e.g., a Note or a profile. This text was decided on 2008-06-04.] For this specification to be advanced to Proposed Recommendation, there must be at least two independent, interoperable implementations of each feature. Each feature may be implemented by a different set of products, there is no requirement that all features be implemented by a single product. For the purposes of this criterion, we define the following terms:
The specification will remain Candidate Recommendation for at least six months.
The following features are at risk:…
This CSS3 module depends on the following other CSS3 modules:
It has non-normative (informative) references to the following other CSS3 modules:
[document here]
Look at the mark-up in this section for examples. See the documentation for more precise instructions. The companion of this template shows the processed result. (The icon of Woolly is just for fun. It will not appear on public WDs.)
To refer to HTML, use [HTML40] (note the double square brackets). To make a normative reference, insert a “!”, like this: [CSS3SYN] The currently available list of bibliographic data can of course be extended.
We write about a property such as ‘display-model’ like this and about a piece
of CSS code like this: ‘foo: bar’.
Inline HTML and XML are similar, but use the CODE element: <blockquote>...</blockquote> and <r:xyz>...</r:xyz>.
Note that the property will automatically be linked to its definition.
To put terms into the index, there are many variants, but hopefully the simplest will be the most common. But a little more work now will help many people for a long time.
Note that you can add non-normative notes like this.
Of course, multi-paragraph notes are also possible: just enclose them in a DIV:
Note that this note is a multi-paragraph note.
It doesn't need to have two paragraphs, but it could.
Displayed examples come in eight different types: CSS examples that need no separate paragraph of explanation are put in a simple PRE:
EM { font-style: italic }
CSS examples that need extra text need a DIV.
The following example is the same as the previous one, but now it is explained:
EM { font-style: italic }
Illegal CSS examples (examples of errors) are the same, but with class "illegal-example". Examples of HTML and XML code have class "html" and "xml" respectively, but are otherwise ditto.
A formal definition of a property looks like this:
| Name: | display-model |
| Value: | inline-inside | block-inside | table | ruby | icon |
| Initial: | text |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
| Computed value: | specified value |
Cross-references are created by enclosing a term or phrase in <dfn> (like the word cross-references earlier in this sentence). Then any element with the same content will automatically be linked. For example: cross-references.
And a figure with a caption is done like this:

Just a random image. SVG would be nice, but maybe SVG isn't sufficiently easy to use yet. W3C prefers PNG over GIF (obviously, since PNG is a W3C Rec).
Don't forget to write the longdesc.
An open issue or editorial remark is OK in a WD, but they should be resolved/removed before the document goes to “CR” (Candidate Recommendation). Use class=“issue”.
There should be tests for every property and every section. See [somewhere] for a description of the format of tests.
There should also be a test for every property that tests whether implementations correctly skip illegal values. For example, like this:
<style type="text/css">
p.c1 { display: list-item; display: illegal-value }
</style>
<p class=c1>This paragraph should look like a list item, i.e., with a bullet
before it.
[We need some boilerplate text for all modules that explains what we mean by “implement CSS,” because new developers may well be confused by the number of modules and profiles. If somebody wants to implement CSS, what would we like him to do exactly, other than implement everything...]
[This section explains what parts of this module belong in which profiles.]
We have at least 4 profiles: level 1, level 2, level 3 and full
[...]
[acknowledgments]
| Property | Values | Initial | Applies to | Inh. | Percentages | Media |
|---|---|---|---|---|---|---|
| display-model | inline-inside | block-inside | table | ruby | icon | text | all elements | no | N/A | visual |