Note: this document has been out of date since 13 April 1998. It remains available for background information on the project now being staged here.
The Core Style Project proposes a modular architecture for Web stylesheets. It builds upon the CSS1 Base Stylesheet, now incorporated into the CSS2 Recommendation draft. The project aims to promote cascadability among Web stylesheets of diverse origins by providing style authors with generic yet attractive models and bases for their own elaboration. It provides four CSS1 stylesheets ("families"), each composed of five modules. Each family addresses all elements of the HTML 4.0 DTD, declaring values for all CSS1 properties. The project also suggests a "class/id namespace library" for enriching HTML semantics without sacrificing interoperability. The modules group CSS1 properties into stylistically useful units, and are formally parallel across families. This parallelism encourages swapping of modules, permitting well over a thousand "bastard" permutations, with astronomical possibilities arising as alternate modules are added to the core.
This project is part of the W3C Style Activity, being developed by Verso. When stable, it will reside on W3C servers as a resource for Web authors and implementors, where it will be maintained and expanded as support for CSS progresses.
Currently, the basic "left hand side" or selector architecture across families has stabilized conceptually, but is subject to adjustment based on testing and feedback. The "right hand side" property values, affecting the final look and feel of the families, have not yet stabilized, though certain modules tend to be more finished than others.
Apart from general testing, tuning, and documentation, the most significant work remaining lies in the refinement of server-based means to prevent unfortunate results in early CSS implementations. This entails conditionalizing the serving of modules or subsections of modules based on the requesting UA's ability to handle them. Such conditionalization permits "hack-free" use of the style families with the Netscape Navigator 4.0.x and Microsoft Internet Explorer 3.0.x browsers.
The CSS1 properties have been collected into the following modules. The module names are linked to examples for reference:
BODYelement. The Microsoft Internet Explorer 4.0 for Macintosh browser receives only one of the four core modules.
THelements. Not served to the Microsoft Internet Explorer 3.0x, 4.0 for Macintosh, and Netscape Navigator 4.0x browsers.
These modules, forming the families Alacrity, Brevity, Celerity, and Dexterity, create the following matrix:
|3. Header type||3A||3B||3C||3D|
|4. Body type||4A||4B||4C||4D|
As noted elsewhere, the grid is likely to grow in a more organic, non-orthogonal fashion in future, adding several "orphan" modules for greater variety of effect.
Below are generic HTML documents linked to the style families in development. All are copies of documents being maintained elsewhere by their respective authors. Permission has been granted to use these documents for demonstration purposes only. Though some common markup habits don't fare well - such as using
<p> as a separator instead of a container - it is a vindication of the principles behind HTML that these documents lend themselves to such comprehensive restyling without modification beyond links to a stylesheet.
To see live modular swapping in WinIE4, see also Gordon Blackstock's exciting DHTML application of the project's modular architecture.
|Unstyled test documents||...linked to style families|
|XML, Java, and the Future of the Web, by Jon Bosak||Alacrity||Brevity||Celerity||Dexterity|
|A simple test document||Alacrity||Brevity||Celerity||Dexterity|
|The HTML 4.0 Recommendation (draft)||Alacrity||Brevity||Celerity||Dexterity|
|Shame and War Revisited, by Philip Greenspun||Alacrity||Brevity||Celerity||Dexterity|
|The CSS1 Recommendation||Alacrity||Brevity||Celerity||Dexterity|
|A well-formed HTML document||Alacrity||Brevity||Celerity||Dexterity|
|Warren Steel's Web Hints for Authors||Alacrity||Brevity||Celerity||Dexterity|
|Jukka Korpela's Review of HTML 4||Alacrity||Brevity||Celerity||Dexterity|