The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
SEARCH | ABOUT | INDEX | NEWS | CORE STANDARDS | TECHNOLOGY REPORTS | EVENTS | LIBRARY
SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic
Last modified: August 29, 2003
W3C Cascading Style Sheets

Introduction

W3C's work on on style sheets is being managed as part of W3C's User Interface Domain. Other activities in the User Interface Domain include [as of July 10, 1999]: "HTML, DOM, Multimedia, Math, Graphics, Voice Browser, Internationalization, Mobile Access, and Amaya/Arena [W3C 'editor/browser'].

As of July 1999, "there are two W3C working groups involved in the Style Sheets activity: (1) CSS&FP - the CSS and Formatting Properties Working Group. This group is responsible for developing the CSS syntax and the CSS properties. The general aim is that the XSL and CSS Working Groups keep their formatting models compatible and their properties the same for all areas of functionality where XSL and CSS overlap. (2) The XSL Working Group is responsible for developing the XSL syntax."

"W3C's Style Sheets offer precise control over the presentation of Web pages. Not only can Web designers specify the visual effects they want, but aural style sheets give control over voice, pitch and other aspects of how the text will sound when rendered into speech. W3C continues to work with its Members, evolving the Cascading Style Sheets (CSS) language to provide even richer stylistic control, and to ensure consistency of implementations. W3C is also developing the Extensible Stylesheet Language (XSL), which has document manipulation capabilities beyond styling. [from the Activity Statement]

"Why two Style Sheet languages? - The fact that W3C has started developing XSL in addition to CSS has caused some confusion. Why develop a second style sheet language when implementors haven't even finished the first one? . . . The unique features are that CSS can be used to style HTML documents. XSL, on the other hand, is able to tranform documents. For example, XSL can be used to transform XML data into HTML/CSS documents on the Web server. This way, the two languages complement each other and can be used together. Both languages can be used to style XML documents. CSS and XSL will use the same underlying formatting model and designers will therefore have access to the same formatting features in both languages. W3C will work hard to ensure that interoperable implementations of the formatting model is available." See also "Using XSL and CSS Together," by Håkon Lie and Bert Bos. [from the W3C 'Style' Page]


CSS Specifications from W3C

Cascading Style Sheets, Level 3.

Some first/preliminary sections:

  • [August 27, 2003]   W3C CSS Working Group Publishes Three Cascading Style Sheets Working Drafts.    The W3C CSS Working Group has released three working drafts for the Cascading Style Sheets language "which is widely implemented and is playing an increasingly important role in styling many kinds of XML documents, including XHTML, SVG (Scalable Vector Graphics), XML, and SMIL (Synchronized Multimedia Integration Language). As described in CSS3 Module: Presentation Levels, presentation levels are integer values attached to elements in a document. They can be used to support slide presentations with transition effects (e.g., progressively revealing a list item by sliding it in from the side) and outline views of documents. The CSS3 Module: Syntax specification "describes the basic structure of CSS style sheets, some of the details of the syntax, and the rules for parsing CSS style sheets. It also describes how stylesheets can be linked to documents and how those links can be media-dependent." The CSS Print Profile is designed for printing from mobile devices where it is not feasible or desirable to install a printer-specific driver, and for situations were some variability between the device's view of the document and the formatting of the output is acceptable to provide a strong basis for rich printing results without a detailed understanding of each individual printer's characteristics. This profile will work in conjunction with XHTML-Print and defines an extension set that provides stronger layout control for the printing of mixed text and images, tables and image collections." The W3C CSS Working Group requests feedback on the working draft specifications.

  • [July 08, 2003] "CSS3 Basic User Interface Module." Edited by Tantek Çelik (Microsoft Corporation). W3C Working Draft 3-July-2003. Latest version URL: http://www.w3.org/TR/css3-ui. Last Call Working Draft produced by the W3C CSS Working Group. Public comments are invited through 31-July-2003. "CSS3 is a set of modules, divided up and profiled in order to simplify the specification, and to allow implementors the flexibility of supporting the particular modules appropriate for their implementations. This module describes selectors and CSS properties which enable authors to style user interface related states, element fragments, properties and values. Section 2.1 of CSS1 and Chapter 18 of CSS2 introduced several user interface related pseudo-classes, properties and values. Section 6.6.4 of Selectors also describes several additional user interface related pseudo-classes, and one pseudo-element. This working draft extends them to provide the ability, through CSS, to style elements based upon additional user interface states, to style fragments of user interface elements, and to alter the dynamic presentation of elements in ways previously only available through specific HTML4 elements and attributes... The working draft defines: (1) Pseudo-classes and pseudo-elements to style user interface states and element fragments respectively; (2) Additions to the user interface features in CSS Version 2.1; (3) The ability to style the appearance of various standard form elements in HTML4 and properties to augment or replace some remaining stylistic attributes in HTML Version 4; (4) Directional focus navigation properties; (5) A mechanism to allow the styling of elements as icons for accessibility... This document is a draft of one of the 'modules' for the upcoming CSS3 specification. It not only describes the user interface related properties and values that already exist in CSS1 and CSS2.1, but also proposes new properties and values for CSS3 as well. The Working Group doesn't expect that all implementations of CSS3 will implement all properties or values. Instead, there will probably be a small number of variants of CSS3, so-called 'profiles'..."

  • [April 06, 2001] "Introduction to CSS3." Edited by Eric A. Meyer and Bert Bos (W3C). W3C Working Draft, 6-April-2001. Latest version URL: http://www.w3.org/TR/css3-roadmap. This WD updates the previous version of 2001-01-19. Abstract: "The members of the CSS&FP Working Group have decided to modularize the CSS specification. This modularization will help to clarify the relationships between the different parts of the specification, and reduce the size of the complete document. It will also allow us to build specific tests on a per module basis and will help implementors in deciding which portions of CSS to support. Furthermore, the modular nature of the specification will make it possible for individual modules to be updated as needed, thus allowing for a more flexible and timely evolution of the spcification as a whole. This document lists all the modules to be contained in the future CSS3 specification." Description: "As the popularity of CSS grows, so does interest in making additions to the specification. Rather than attempting to shove dozens of updates into a single monolithic specification, it will be much easier and more efficient to be able to update individual pieces of the specification. Modules will enable CSS to be updated in a more timely and precise fashion, thus allowing for a more flexible and timely evolution of the spcification as a whole. For resource constrained devices, it may be impractical to support all of CSS. For example, an aural browser may be concerned only with aural styles, whereas a visual browser may care nothing for aural styles. In such cases, a user agent may implement a subset of CSS. Subsets of CSS are limited to combining selected CSS modules, and once a module has been chosen, all of its features must be supported." Section 2 of the WD displays the modules: "Module Overview: All modules contain a 'Conformance: Requirements and Recommendations' section. Any module whose table row is backed with green is considered part of the 'CSS Core.' The listed deadlines (backed in red) represent the time at which a module should be ready for Working Draft publication. There are also columns which indicate a module's participation in each of three 'profiles': HTML Basic, CSS3, and SVG. A module without any indicated module participation is at risk of being dropped from CSS3 before it reaches Proposed Recommendation status. A module without a listed editor is backed in yellow, and is in serious danger of being dropped..."

  • [January 19, 2001] Updated Roadmap. W3C CSS3 Working Draft Outlines CSS3 Modularization Project and Test Suite. The W3C CSS Working Group has published an 'official introduction' to Cascading Style Sheets Level 3 (CSS3): Introduction to CSS3. Reference: W3C Working Draft, 19-January-2001, edited by Eric A. Meyer. This ("informative") working draft document describes details of modularization in the future Cascading Style Sheets Level 3 (CSS3) specification and describes the CSS test suite. The 'Module Overview" section supplies a list of all the CSS3 modules, together with names of the document editors and deadlines marking the time at which modules should be ready for Working Draft publication. Excerpt: "The members of the CSS&FP Working Group have decided to modularize the CSS specification. This modularization will help to clarify the relationships between the different parts of the specification, and reduce the size of the complete document. It will also allow us to build specific tests on a per module basis and will help implementors in deciding which portions of CSS to support. Furthermore, the modular nature of the specification will make it possible for individual modules to be updated as needed, thus allowing for a more flexible and timely evolution of the spcification as a whole... As the popularity of CSS grows, so does interest in making additions to the specification. Rather than attempting to shove dozens of updates into a single monolithic specification, it will be much easier and more efficient to be able to update individual pieces of the specification. Modules will enable CSS to be updated in a more timely and precise fashion, thus allowing for a more flexible and timely evolution of the spcification as a whole. For resource constrained devices, it may be impractical to support all of CSS. For example, an aural browser may be concerned only with aural styles, whereas a visual browser may care nothing for aural styles. In such cases, a user agent may implement a subset of CSS. Subsets of CSS are limited to combining selected CSS modules, and once a module has been chosen, all of its features must be supported." [cache]

  • [March 01, 2002] "CSS3 module: Lists." W3C Working Draft 20-February-2002. Edited by Tantek Çelik (Microsoft Corporation) and Ian Hickson. Latest version URL: http://www.w3.org/TR/css3-lists. This first public working draft for the W3C Cascading Style Sheets (CSS) Level 3 'Lists' Module "describes how lists are rendered and offers enhanced list marker styling... The list model in this module differs in some important ways from the list model in CSS2, specifically in its handling of markers. Implementation experience suggested the CSS2 model overloaded the ::before and ::after pseudo-elements with too much behavior, while at the same time introducing new properties when existing properties were sufficient. Most block-level elements in CSS generate one principal block box. In this module, [the authors] discuss two CSS mechanisms that cause an element to have an associated marker: one method associates one principal block box (for the element's content) with a separate marker box (for decoration such as a bullet, image, or number), and the other inserts a marker box into the principal box. Unlike ::before and ::after content, the marker box cannot affect the position of the principal box, whatever the positioning scheme... There are significant changes in this module when compared to CSS2: (1) display:marker has been replaced with ::marker; (2) It is no longer possible to make end markers; (3) The marker-offset property is obsoleted; (4) The marker display type is obsoleted; (5) Markers are now aligned relative to the line box edge, rather than the border edge; (6) Markers now have margins; (7) The introduction of the box list style type as well as a number of alphabetic and numbering types; (8) Error handling rules for unknown list style types were changed to be consistent with the normal parsing error handling rules; (9) The list-item predefined counter identifier has been introduced..."

  • [April 14, 2000] The W3C has issued an initial working document which explains modularization of the CSS3 specification and its test suite: CSS3 Introduction. Reference: W3C Working Draft, 14-April-2000, edited by Eric A. Meyer. This working draft doeument has been produced by CSS & FP working group, which is part of the W3C Style activity. Abstract: "The members of the CSS&FP Working Group have decided to modularize the CSS specification. This modularization will help to clarify the relationships between the different parts of the specification, and reduce the size of the complete document. It will also allow to build specific tests on a per module basis and will help implementors in deciding which portions of CSS to support. Furthermore, the modular nature of the specification will make it possible for individual modules to be updated as needed, thus allowing for a more flexible and timely evolution of the specification as a whole. This document lists all the modules to be contained in the future CSS3 specification. It will eventually become the introduction to CSS3." According to the 'Modules Overview' table, all modules must contain a 'Conformance: Requirements and Recommendations' section. Any module whose table row is backed with green is considered part of the CSS Core. The listed deadlines (backed in red) represent the time at which a module should be ready for Working Draft publication. There are also columns which indicate a module's participation in each of three 'profiles': HTML Basic, CSS3, and SVG." The modules identified include: Introduction; Syntax / grammar; Selectors; Values & units; Value assignment / cascade / inheritance; Box model / vertical; Positioning; Color / gamma / color profiles; Background; Line box model; Text & font / bidi / vertical alignment; Ruby; Generated content / markers; Replaced content; Paged media; User interface; WebFonts; ACSS; SMIL; Tables; Columns; SVG; Math; BECSS; Test Suite. For other information, see (1) the W3C web site and (2) "Cascading Style Sheets, Level 3." [cache]

  • [August 03, 2001]   W3C Publishes Working Draft CSS3 Modules for Fonts and Box Model.    Two new CSS3 working drafts have been released by the W3C CSS working group editors as part of the W3C Style Activity. CSS3 Module: The Box Model "describes the layout of textual documents in visual media. The box model builds on the inline text model, which describes how text is laid out on a line, including treatment of superscripts and bidirectional ('bidi') text. The flow can be horizontal, which is typical for most languages, but in level 3 of CSS, flows can also be vertical; this is typical for the Uighur script and often used for ideographic scripts." The working draft document CSS3 Module: Fonts "presents a set of properties allowing font specification by a user agent as well as additional font decoration properties like font effects, emphasis, smoothing, etc. While the font specification is identical to the similar section in CSS 2, the font decoration properties are new to CSS3. This new module only addresses the font specification part; all other considerations are covered by the Web Font module which addresses: font selection, font characteristics, and font matching algorithm. In addition, this modules specifies various font decoration effects that are glyph related like 3D effect, outline, smoothing and emphasis. These decoration effects are differentiated from the text-decoration through their closer relationship with fonts and their glyphs." [Full context]

  • [July 18, 2001]   W3C Releases CSS3 Modules for Inheritance, Values, and Units.    The W3C CSS Working Group has published two new CSS3 modules as working drafts. CSS3 Module: Cascading and Inheritance "describes how values are assigned to properties. CSS allows several style sheets to influence the rendering of a document, and the process of combining these style sheets is called 'cascading'. If no value can be found through cascading, a value can be inherited from the parent element or the property's initial value is used." This working draft contains nothing new conceptually, but constitutes a redraft of relevant portions of CSS level 2 as a CSS3 module; "all the properties and features described which also exist in CSS level 2 are intended to be backwards compatible." The working draft for CSS3 Module: Values and Units "describes the various values and units that CSS properties accept. Also, it describes how 'specified values', which is what a style sheet contains, are processed into 'computed values' and 'actual values'. There are five main types of values in CSS: (1) keywords -- e.g., "pitch-range: inherit"; (2) numbers -- e.g., "orphans: 3"; (3) numbers with unit identifiers -- e.g., "border-width: 0.2em"; (4) strings -- e.g., "content: 'Figure: '"; (5) functions -- e.g., "background: url(http://www.w3.org/image)"; (6) special cases -- e.g., "color: #F00" and "font-size: Helvetica". Most properties accepts values from several of the above types. Some properties accept space- or comma-separated lists of values. Each CSS property has a formal definition of what types of values it accepts which can be found in the description of the property..." [Full context]

  • [December 12, 2001] "Selectors." W3C Candidate Recommendation. 13-November-2001. Edited by Daniel Glazman (Netscape/AOL), Tantek Gelik (Microsoft Corporation), Ian Hickson, Peter Linss (former editor, formerly of Netscape/AOL), and John Williams (former editor, Quark, Inc.). Latest version URL: http://www.w3.org/TR/css3-selectors. "CSS (Cascading Style Sheets) is a language for describing the rendering of HTML and XML documents on screen, on paper, in speech, etc. To bind style properties to elements in the document, CSS uses selectors, which are patterns that match one or more elements. This document describes the selectors that are proposed for CSS level 3. It includes and extends the selectors of CSS level 2. The specification proposes new selectors for CSS3 as well as for other languages that may need them... A Selector represents a structure; this structure can be used as a condition (e.g., in a CSS rule) that determines which elements a selector matches in the document tree, or as a flat description of the HTML or XML fragment corresponding to that structure. Selectors may range from simple element names to rich contextual representations..." Review comments on this Candidate Recommendation will be evaluated by the W3C CSS Working Group through May 2002.

  • [October 05, 2000] CSS3 Module on W3C Selectors. As part of the W3C style activity, the W3C CSS & FP working group has released a new working draft specification for the CSS3 Module on W3C Selectors. Reference: W3C Working Draft 5-October-2000, edited by Tantek Çelik (Microsoft Corporation), Daniel Glazman, Peter Linss (formerly of Netscape Communications), and John Williams (Quark, Inc.). This WD updates the previous draft of 2000-04-10; section 12 supplies a list of changes from previous versions. Document abstract: "CSS (Cascading Style Sheets) is a language for describing the rendering of HTML and XML documents on screen, on paper, in speech, etc. To bind style properties to elements in the document, it uses selectors, which are patterns that match to elements. This draft describes the selectors that are proposed for CSS level 3. It includes and extends the selectors of CSS level 2." Description: "This document is a draft of one of the 'modules' for the upcoming CSS3 specification. It not only describes the selectors that already exist in CSS1 and CSS2, but also proposes new selectors for CSS3 as well as for other languages that may need them. The Working Group doesn't expect that all implementations of CSS3 will have to implement all types of selectors. Instead, there will probably be a small number of variants of CSS3, so-called 'profiles'. For example, it may be that only the profile for non-interactive user agents will include all of the proposed selectors. . .The modularization of CSS and the externalization of the general syntax will reduce the size of the specification and allow new types of specifications to use selectors and/or CSS general syntax -- for instance behaviours or tree transformations. A W3C selector represents a structure. This structure can be understood for instance as a condition (e.g., in a CSS rule) that determines which elements in the document tree are matched by this selector, or as a flat description of the HTML or XML fragment corresponding to that structure."

  • [April 14, 2000] As part of a design effort to modularize the CSS specification, the W3C's CSS&FP Working Group [Cascading Style Sheets and Formatting Properties Working Group] has released a new working draft on CSS3 Selectors: CSS3 Module: W3C Selectors. The proposed modularization, together with the externalization of the general syntax of CSS is designed to reduce the size of the specification and allow new types of specifications to use selectors and/or CSS general syntax. For instance behaviours or tree transformations." Reference: W3C Working Draft 10-April-2000, edited by Tantek Çelik, Daniel Glazman, Peter Linss, and John Williams. Abstract: "CSS (Cascading Style Sheets) is a language for describing the rendering of HTML and XML documents on screen, on paper, in speech, etc. To bind style properties to elements in the document, it uses selectors, which are patterns that match to elements. This draft describes the selectors that are proposed for CSS level 3. It includes and extends the selectors of CSS level 2. [...] A W3C selector represents a structure. This structure can be understood for instance as a condition (e.g. in a CSS rule) that determines which elements in the document tree are matched by this selector, or as a flat description of the HTML or XML fragment corresponding to that structure. W3C selectors may range from simple element names to rich contextual representations. . .This document is a draft of one of the modules for the upcoming CSS3 specification. It not only describes the selectors that already exist in CSS1 and CSS2, but also proposes new selectors for CSS3 as well as for other languages that may need them. The Working Group doesn't expect that all implementations of CSS3 will have to implement all types of selectors. Instead, there will probably be a small number of variants of CSS3, so-called 'profiles'. For example, it may be that only the profile for non-interactive user agents will include all of the proposed selectors. The current draft is the result of the merging of relevant parts of the following Working Drafts: (1) "CSS3 Module: W3C Selectors" [August 1999], (2) "CSS Namespace Enhancements [June 1999], (3) "User Interface for CSS3" [September 1999]. [cache]

  • [February 16, 2001] "CSS3 Module: Ruby." Edited by Michel Suignard (Microsoft). W3C Working Draft 16-February-2001. Also available as a ZIP archive. The document "proposes a set of CSS properties associated with the 'Ruby' elements. It is a working draft of the CSS Working Group which is part of the W3C Style activity. It contains a proposal for features to be included in CSS level 3... Ruby is the commonly used name for a run of text that appears in the immediate vicinity of another run of text, referred to as the 'base', and serves as an annotation or a pronunciation guide associated with that run of text. Ruby, as used in Japanese, is described in JIS X-4051 [Line composition rules for Japanese documents, JIS X 4051-1995, Japanese Standards Association, 1995]. The ruby structure and the HTML markup to represent it is described in the Ruby specification ... This CSS ruby model is based on the XHTML Ruby Annotation module proposal, in which the structure of a ruby closely parallels the visual layout of the ruby element. In this model, a ruby consists of one or more base elements associated with one or more annotation elements. The CSS model does not require that the document language include elements that correspond to each of these components. For document languages (such as XML applications) that do not have pre-defined ruby elements, authors must map document language elements to ruby elements; this is done with the 'display' property..."

  • [September 30, 1999] A new W3C working draft on Paged Media Properties for CSS3 has been released by the W3C as part of the Style Activity. Reference: W3C Working Draft 28-September-1999, by Robert Stevahn. See below.

  • Paged Media Properties for CSS3. W3C Working Draft 22 June 1999. By Robert Stevahn. "This document proposes an extension to CSS to permit finer control over the paged presentation, both printed and online, of Web pages. Some of the features described are useful for other media as well. Included are properties for describing headers, footers, footnotes and endnotes. These features require other features described here, such as cross-references and page-based counters. In addition, page-dependent floating elements are described. . . This document forms one part of a modular set of Working Drafts which will, when complete, define the next level of CSS."

  • [January 19, 2001] CSS3 Module: Multi-column layout. Revised working draft. Reference: W3C Working Draft, 18-January-2001, edited by Håkon Wium Lie. This specifiction "builds upon the box model module, and provides a facility whereby stylesheet authors can allow content to flow from one column to another, specify column width, and allow the number of columns to vary, all depending on available space."

  • Multi-column layout in CSS. For example: 'W3C Working Draft 22 June 1999', edited by Håkon Wium Lie. "This is a proposal for multi-column layout in CSS. It is based on several older proposals and comments on older proposals. The document describes one main proposal, and two variations of the proposal. . . defines a set of of CSS properties that address the following requirements: (1) the style sheet specifies the number of columns and lets the UA choose the dimensions (2) the style sheet specifies a column width and lets the UA determine how many columns there is room for. (3) the style sheet specifies both the number of columns and their widths."

  • [April 19, 2002] "CSS3 Module: Color." W3C Working Draft 18-April-2002. W3C Last Call Working Draft; comments may be sent until May 17, 2002. Edited by Tantek Çelik (Microsoft Corporation) and Chris Lilley (W3C). With contributions from additional authors: Steven Pemberton (CWI) and Brad Pettit (Microsoft Corporation). Latest version URL: http://www.w3.org/TR/css3-color. "CSS (Cascading Style Sheets) is a language for describing the rendering of HTML and XML documents on screen, on paper, in speech, etc. To color elements in a document, it uses color related properties and respective values. This draft describes the properties and values that are proposed for CSS level 3. It includes and extends them from properties and values of CSS level 2... This document is a draft of one of the 'modules' for the upcoming CSS3 specification. As a set of modules, CSS3 is divided up and profiled in order to simplify the specification, and to allow implementors the flexibility of supporting the particular modules appropriate for their implementations. This module describes CSS properties which allow authors to specify the foreground color and opacity of an element. Additional properties allow specification of the ICC color profile and rendering intent of image content. This module also describes in detail the CSS <color> value type. The Working Group doesn't expect that all implementations of CSS3 will implement all properties or values. Instead, there will probably be a small number of variants of CSS3, so-called 'profiles'. For example, it may be that only the profile for 32-bit color user agents will include all of the proposed color related properties and values..." [As to Profiles:] "Each specification using CSS3 Color must define the subset of CSS3 Color features it allows and excludes, and describe the local meaning of all the components of that subset."

  • Color Profiles for CSS3. For example 'W3C Working Draft 22 June 1999.' "This document proposes an extension to CSS to permit finer control over the reproducibility and accuracy of colors used in a Web page."

  • A new working draft document on "selectors" has been published by the W3C as part of the W3C Style Activity. References: CSS3 Module: W3C Selectors (W3C Working Draft 3-August-1999). The document editor is Daniel Glazman (Electricité de France).

  • CSS Namespace Enhancements (Proposal). W3C Working Draft, 25-June-1999. Edited by Peter Linss, Netscape Communications. "This is a proposal for making CSS namespace-aware; such that styles can be applied to XML documents which use multiple namespaces, correctly selecting by the namespace used, regardless of the namespace prefix which happens to be used." See: latest version.

  • [February 25, 2000] A new W3C working draft document User Interface for CSS3 has been published by CSS & FP working group as part of the Style activity, and includes proposal for features to be included in CSS level 3. Reference: W3C Working Draft 16-Feb-2000, edited by Tantek Çelik (Microsoft Corporation). Co-authors include Peter Linss and Sho Kuwamoto. The new working draft supplies: (1) a completion of the user interface features in CSS2; (2) CSS mechanisms to simulate the look and feel of various standard form elements in HTML4; (3) CSS mechanisms to augment or replace the remaining stylistic attributes in HTML4; and (4) a mechanism for CSS to enable full-screen or kiosk mode. The proposal extends several user interface related pseudo-classes, properties and values [from CSS level 2] to provide the ability, through CSS, to style elements based upon their various user interface related states, and to make an arbitrary structural element take on the dynamic presentation, or system default look and feel, of various standard user interface widgets. The proposal can be briefly summed up by the following additions to CSS: (1) Four new pseudo-classes and two new pseudo-elements to represent the various states and relevant fragments of user interface elements. (2) Full-screen or kiosk mode - one new media type. (3) More system cursors, colors and fonts for multiple platforms. (4) Display:inline-block for BUTTON, TEXTAREA, and other elements. (5) Content and list-style-type additions for radio button, checkbox, and checked menu visuals. (6) Ten new properties consisting of the following: ability to interpret width and height as defining the border-box; resizing mechanism for elements (to complement the scrollbars from overflow); keyboard shortcuts, tabbing order, and focus selection control; making explicit which elements the user can interact with and modify."

  • User Interface for CSS3. W3C Working Draft 16-September-1999. Edited by Tantek Çelik. "This document is a working draft of the W3C CSS&FP working group which is part of the Style activity. It contains a proposal for features to be included in CSS level 3. The working draft proposal provides specification for: (1) Completion of the user interface features in CSS2. (2) CSS mechanisms to simulate the look and feel of various standard form elements in HTML4. (3) CSS mechanisms to augment or replace the remaining stylistic attributes in HTML4. (4) A mechanism for CSS to enable full-screen or kiosk mode."

Cascading Style Sheets, Level 2.

[March 02, 2004]   W3C Publishes Candidate Recommendations for CSS Language Specifications.    A W3C announcement describes the release of three Cascading Style Sheets (CSS) language specifications as Candidate Recommendations. The Cascading Style Sheets, Level 2 Revision 1. CSS 2.1 Specification "allows authors and users to attach style to structured documents; by separating the presentation style of documents from the content of documents, CSS 2.1 simplifies Web authoring and site maintenance. CSS 2.1 builds on CSS2 and CSS1. It supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. It also supports content positioning, table layout, features for internationalization and some properties related to user interface." This specification will remain at Candidate Recommendation level at least until September 2004. CSS Print Profile "specifies a conformance profile for printing from mobile devices to low-cost printers, identifying a minimum set of properties, values, selectors, and cascading rules. This profile was designed in conjunction with XHTML-Print for low cost printers that may not have a full-page buffer and that generally print from top-to-bottom and left-to-right with the paper in a portrait orientation." The CSS3 Paged Media Module "describes the page model that partitions a flow into pages. It builds on the CSS3 Box model module and introduces and defines the page model and paged media. It adds functionality for pagination, page margins, headers and footers, image orientation. Finally, it extends generated content for the purpose of cross-references with page numbers."

W3C Recommendation 12-May-1998. REC-CSS2-19980512. Edited by Bert Bos, Håkon Wium Lie, Chris Lilley, Ian Jacobs. "This specification defines Cascading Style Sheets, level 2 (CSS2). CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, and aural cues) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS2 simplifies Web authoring and site maintenance. CSS2 builds on CSS1 and, with very few exceptions, all valid CSS1 style sheets are valid CSS2 style sheets. CSS2 supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. This specification also supports content positioning, downloadable fonts, table layout, features for internationalization, automatic counters and numbering, and some properties related to user interface."

[October 24, 2001]   W3C CSS Working Group Issues CSS Mobile Profile as a W3C Candidate Recommendation.    Members of the W3C CSS Working Group have put forward CSS Mobile Profile 1.0 as a W3C Candidate Recommendation. Part of the W3C Style Activity, this document "defines a subset of the Cascading Style Sheets Level 2 specification tailored to the needs and constraints of mobile devices. CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, and aural cues) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS2 simplifies Web authoring and site maintenance. CSS2 thus specifies how developers can author style sheets for presenting documents across multiple devices and media types. The CSS Mobile Profile specifies a conformance profile for mobile devices, identifying a minimum set of properties, values, selectors, and cascading rules; the resulting CSS Mobile Profile is very similar to CSS1. The new CR document is a revision of the Working Draft dated January 29, 2001; it incorporates suggestions received during last call review, comments, and further deliberations of the W3C CSS Working Group." The duration of the Candidate Recommendation phase will be at least six months, viz., October 2001 through April 2002. [Full context]

[October 13, 2000] W3C Publishes CSS Mobile Profile 1.0 for Mobile Devices. W3C has issued CSS Mobile Profile 1.0 as a working draft to define a subset of CSS2 features that provides a minimal guarantee of interoperability on mobile devices. Reference: Working Draft 13-October-2000, by Ted Wugofski (Phone.com), Doug Dominiak (Motorola), and Peter StarkEricsson). Document abstract: "This specification defines a subset of the Cascading Style Sheets Level 2 specification tailored to the needs and constraints of mobile devices." The Working Draft of the CSS Mobile Profile specification has been published by the W3C CSS Working Group part of the Style activity. The document supplies a "profile of the Cascading Style Sheets, level 2 (CSS2) specification appropriate for mobile devices such as wireless phones. Conformance to this profile means that a user agent supports, at minimum, the features defined in this specification per the CSS2 conformance. CSS2 specifies how developers can author style sheets for presenting documents across multiple devices and media types. While this is very important, it is also important that authors have an understanding of what features are supported on these different devices. Likewise, it is important that similar devices operate in a similar manner. Otherwise, authors will need to develop style sheets for each version of each device -- raising the cost of content development and decreasing interoperability. The CSS Mobile Profile specifies a conformance profile for mobile devices, identifying a minimum set of properties, values, selectors, and cascading rules. The resulting CSS Mobile Profile is very similar to CSS1." Section 3 provides a tabular summary of CSS Mobile Profile selector syntax. The CSS Mobile Profile uses the same syntax as specified in CSS2, with a subset of values; in general, the CSS Mobile Profile uses the same cascading rules as in CSS2. A CSS Mobile Profile conforming user agent must also be able to process media-dependent stylesheets as specified in CSS2."

Cascading Style Sheets, Level 1.

Cascading Style Sheets, level 1. W3C Recommendation 17 Dec 1996, revised 11 Jan 1999. REC-CSS1-19990111, http://www.w3.org/TR/1999/REC-CSS1-19990111. Authors: Håkon Wium Lie and Bert Bos. "This document specifies level 1 of the Cascading Style Sheet mechanism (CSS1). CSS1 is a simple style sheet mechanism that allows authors and readers to attach style (e.g., fonts, colors and spacing) to HTML documents. The CSS1 language is human readable and writable, and expresses style in common desktop publishing terminology."


CSS Resources from W3C

  • CSS Learning - Some references to Books and Online Tutorials for CSS
  • W3C Core Styles - "The W3C Core Styles offer authors an easy way to start using style sheets without becoming designers."
  • CSS News - "What's New" in CSS Software Support, Tutorials, Charts, etc.
  • Test Suite - "The CSS1 Test Suite is provided as a way for vendors and page authors to test their browser's conformance to the CSS1 specification. This test suite is organized around individual properties of Cascading Style Sheets, Level 1 (CSS1)." See the press release.
  • SAC: Simple API for CSS. W3C Note, 28 July, 2000. "This note describes a project for developing a common API for the CSS parsers in the W3C. A sample source code is already available for download (SAC). The software is OpenSource... The goal of the project is to promote W3C technology. One of the successes of the XML syntax was the interoperability between the XML parsers. This interoperability has been accomplished with the Simple API for XML (SAX). SAC plays a similar role for CSS. The CSS specifications (CSS1 and CSS2) introduce a forward-compatible grammar common to all versions of CSS. Any future versions of CSS should adhere to this core syntax, even if they add additional syntactic constraints. The Simple API for CSS (SAC) is a proposal for a standard API for event-based CSS parsing. It is designed to support CSS1, CSS2 and future versions of CSS. The SAC model follows the Simple API for XML (SAX) model." [permanent URL]

  • [October 1999] SAC: The Simple API for CSS. As part of the as part of the W3C Style Activity, the W3C has released SAC: The Simple API for CSS. "SAC 1.0 is a standard interface for CSS parser and supposed to work with CSS1, CSS2, CSS3 (currently under development) and others CSS derived languages. It is a beta version which may be updated, replaced or obsoleted by other versions at anyt time." SAC 1.0 implementations in Java and C are available for download, together with SAC 1.0 Online javadoc documentation in connection with the former.
  • Working drafts from the CSS & FP WG (Cascading Style Sheets & Formatting Properties Working Group)
  • CSS Browsers - List of some browsers that support CSS1 [and CSS2]. Note that the CSS-aware editors typically support display under CSS.
  • CSS Editors - CSS Authoring Tools
  • W3C CSS Validation Service - For CSS Levels 1 and 2. Part of the W3C HTML Validation Service.
  • Mailing list 'www-style' - Mailing list for CSS technical issues
  • The CSS Object Model. By Philippe Le Hégaret. WWW8, Toronto '99, May 14, 1999.
  • "WAI Resource: CSS 2 Accessibility Improvements. WAI Makes Further Advances for Web Accessibility." 1998/11/19.
  • "The W3C Announces Web Style Sheets." Announcement, March 5, 1996.
  • Contact: Bert Bos, Style Sheets Activity Lead
  • Contact: Chris Lilley, CSS&FP Working Group Chair [CSS and Formatting Properties Working Group]

Specifications Related to CSS

  • [October 25, 2000] As part of the W3C style activity, the W3C CSS Working Group has produced a "work in progress" Working Draft specification Syntax of CSS Rules in HTML's "style" Attribute. Reference: W3C Working Draft 25-October-2000, edited by Tantek Çelik (Microsoft) and Bert Bos (W3C). Document abstract: "HTML provides a 'style' attribute on most elements, to hold a fragment of a style sheet that applies to those elements. One of the possible style sheet languages is CSS. This draft describes the syntax of the CSS fragment that can be used in the 'style' attribute." The WD states: "This document recommends that any future XML based languages which have presentational information (whether visual, aural, tactile, or other) also add a STYLE attribute which similarly permits the user to use CSS to style the document and elements in documents written in that language." [cache]

  • CSS Techniques for Web Content Accessibility Guidelines 1.0. W3C Note 20 September 2000. "This document describes techniques for authoring accessible Cascading Style Sheets (CSS). Cascading Style Sheets are defined by the W3C Recommendations 'CSS Level 1' CSS1 and 'CSS Level 2' CSS2. This document is intended to help authors of Web content who wish to claim conformance to 'Web Content Accessibility Guidelines 1.0' (WCAG10). While the techniques in this document should help people author CSS that conforms to 'Web Content Accessibility Guidelines 1.0', these techniques are neither guarantees of conformance nor the only way an author might produce conforming content. This document is part of a series of documents about techniques for authoring accessible Web content. For information about the other documents in the series, please refer to 'Techniques for Web Content Accessibility Guidelines 1.0". Cache. [permanent URL]

  • Associating Style Sheets with XML Documents Version 1.0. W3C Recommendation 29-June-1999. Edited by James Clark. "This document allows a style sheet to be associated with an XML document by including one or more processing instructions with a target of xml-stylesheet in the document's prolog. . . Style Sheets can be associated with an XML document by using a processing instruction whose target is xml-stylesheet. This processing instruction follows the behaviour of the HTML 4.0 construct <LINK REL="stylesheet">. For example <LINK href="mystyle.css" rel="style sheet" type="text/css">   ==   <?xml-stylesheet href="mystyle.css" type="text/css"?>." See the W3C press release ("W3C Issues Associating Style Sheets with XML as a Recommendation. Allows XML to Leverage Display Power, Flexibility of CSS") and the testimonials.

  • Accessibility Features of CSS. W3C NOTE 16 June 1999. Edited by Ian Jacobs and Judy Brewer. "This document summarizes the features of the Cascading Style Sheets (CSS), level 2 Recommendation (CSS2) known to directly affect the accessibility of Web documents. Some of the accessibility features described in this document were available in CSS1 as well."

  • [August 05, 1999] Behavioral Extensions to CSS (W3C Working Draft 04-August-1999). The document editors include Vidur Apparao (Netscape Communications Corp.), Daniel Glazman (Electricité de France), and Chris Wilson (Microsoft Corporation).

  • International Layout in CSS. See for example WD-i18n-format-19990127, World Wide Web Consortium Working Draft, 27-January-1999. Edited by Marcin Sawicki (Microsoft). "The following specification extends CSS to support East Asian and Bi-directional text formatting."

  • List of suggested extensions to CSS. NOTE-CSS-potential-19981210, W3C Note 10 December 1998. Edited by Bert Bos. "This Note attempts to document all the features that have been suggested for CSS, and that are not part of CSS2. The fact that a feature has been listed here does not mean it will be in some future version of CSS; some of the suggestions do not fit in CSS or are better handled elsewhere (e.g., in HTML, SMIL, or RDF). The purpose of the list is to make sure suggestions are neither forgotten nor suggested over and over again." The 19981210 version.

  • Using XSL and CSS together. NOTE-XSL-and-CSS-19980911, W3C Note, 11 September 1998. By Håkon Lie and Bert Bos. This W3C Note describes how XSL and CSS can be used together. In particular, it discusses how XSL can be used as a bridge between complex XML-based documents and the CSS formatting model. It gives an outline of a system for displaying documents in XML-based formats as human-readable, or human-audible, text. To use the CSS properties in the language of XSL, it is necessary to invent an XML-based syntax, compatible with XSL, to represent CSS's properties. No new CSS properties, or other formatting semantics, are defined in this document."

  • Displaying SMIL Basic Layout with a CSS2 Rendering Engine. NOTE-CSS-smil-19980720, W3C Note 20-July-1998. By Philipp Hoschka (W3C, Chair SYMM WG) and Chris Lilley (W3C, Chair CSS WG). "The layout language in SMIL 1.0 [SMIL10] exposes parts of CSS2 [CSS2], in the same way as presentational aspects of HTML 4.0 [HTML40] and MathML 1.0 [MathML10]. This paper makes explicit the mapping from SMIL basic layout to CSS2, for the benefit of implementors building a SMIL viewer by translating directly into CSS2. In most cases, this is a trivial 1:1 mapping."

  • Adding Style and Behavior to XML with a dash of Spice NOTE-spice-19980123, Submitted to W3C on 3 February 1998. Edited by Robert Stevahn, Hewlett-Packard Co. "CSS is proving to be an easy-to-learn, effective approach for styling HTML pages. This NOTE shows how, with a few simple extensions, ECMAScript becomes a powerful and easy-to-learn way to style XML pages using extensible CSS rules together with scripted flow objects."

  • Simple Tree Transformation Sheets 2. NOTE-stts2. Submitted to W3C 17 October 1997. Edited by Daniel Glazman. "This document describes a proprietary specification of Electricité de France. It specifies the format of STTS2 transformation rules that can be applied to a HTML document (without CSS styles) in order to take advantage of the Cascading Style Sheets and remove deprecated HTML elements or attributes in favor of CSS. Even if the specification deals only with HTML, this kind of transformation, or an extension of this specification, can be easily applied on the fly to well-formed XML documents in order to render them in a HTML browser without any XML plug-in or internal knowledge."

  • Positioning HTML Elements with Cascading Style Sheets. WD-positioning-19970819, W3C Working Draft 19-Aug-1997. Edited by Robert Stevahn. "The following specification extends CSS to support the positioning and visibility of HTML elements in three-dimensional space."

  • Aural Cascading Style Sheets (ACSS). W3C Working Draft 30-June-1997, WD-acss-970630. Edited by Chris Lilley (W3C) and T. V. Raman. See also Style Sheets For Producing Spoken Renderings.

  • CSS Printing Extensions. W3C Working Draft 26-June-97, WD-print-970625. Edited by Håkon Wium Lie. "This specification describes a set of extensions to Cascading Style Sheets (CSS) to better support printing from the Web. These extensions let style sheets express page breaks, page boxes, and media dependencies. Also, a way to point to an alternate print document is described."


Articles and CSS Validation Resources

  • W3C CSS Validation Service

  • Master Compatibility Chart. By Eric A. Meyer

  • WebReview Browser Compatibility Chart

  • Webmonkey Browser Chart

  • Cascading Style Sheets Help. Web Design Group

  • CSS Frequently Asked Questions from HTML Writers' Guild

  • CSS FAQ document from Webreview.com

  • CSS2 Selectors Support Chart from Webreview.com

  • [August 25, 2003] "Macromedia Announces Dreamweaver MX 2004. New Version Builds Foundation for Widespread Adoption of Cascading Style Sheets (CSS)." - "Macromedia, Inc. today announced Dreamweaver MX 2004, the professional choice for building web sites and applications. Dreamweaver MX 2004 continues the product's tradition of innovation by providing a solid foundation for widespread adoption of Cascading Style Sheets (CSS), a well respected, but previously difficult to implement web standard. Because CSS helps developers separate presentation and style from content, websites built with CSS require less bandwidth, are easier to maintain, and give developers and end users precise design control. Dreamweaver MX 2004 is the only comprehensive tool to deliver deep CSS support in a visual development environment, removing the learning curve and enabling developers to use this standard to cost-effectively deliver great experiences on their web sites and applications. Dreamweaver MX 2004 builds on the success of Dreamweaver MX by further integrating visual layout tools, application development features, and code editing support within a technology-agnostic, platform-independent environment. By supporting all major HTML and server technologies, Dreamweaver MX 2004 unlocks the power of open, standards-based development for the web community while enhancing the basic tools that professionals need. Dreamweaver MX 2004 also includes SecureFTP, dynamic cross-browser validation functionality, built-in graphics editing, seamless integration with Microsoft Word and Excel, and updated support for ASP.NET, PHP, and ColdFusion server technologies... Dreamweaver MX 2004 includes state of the art, standards-based design controls to ensure high-quality design. The entire design environment is built around CSS to enable fast, more efficient development of clean-coded, professional sites with sophisticated designs. Dynamic multi-browser validation automatically checks tags and CSS rules for design compatibility across leading browsers, the most common headache for developers. A built-in graphics editor using Macromedia Fireworks technology enables users to crop, resize, and edit graphics without leaving the Dreamweaver environment... The open, technology-agnostic nature of Dreamweaver MX 2004 allows developers to work with their technologies of choice. Its platform-independent development environment supports all major server technologies, including Macromedia ColdFusion, ASP.NET, JSP, and PHP. SecureFTP encrypts all file transfers and prevents unauthorized access to data, file contents, user names, and passwords. Seamless integration with Microsoft Word and Excel enables users to preserve formatting as CSS when cutting and pasting into Dreamweaver. The product also includes tighter integration with Macromedia Flash, Fireworks, and other design and development tools in Macromedia Studio MX 2004..."

  • [June 24, 2003] "CSS 3 Selectors." By Russell Dyer. From XML.com (June 18, 2003). "Although the promise of Cascading Style Sheets (CSS) has been wondrous, the progress has been wanting. As with all W3C standards, there is the lengthy discussion process conducted by the related working group, then the problem of implementation by web browser vendors, and finally the unpredictable period of time for people to update to new versions of their browser. These steps can take a year or two each. To expedite the process, the CSS working group has started grouping related features into modules and releasing them separately, without waiting for completion of all modules. This allows browser vendors to proceed with implementation of CSS updates with the confidence that standards won't be changed by the time the full release of CSS is approved. Ideally the result will be to reduce the process by a year or more. One CSS module that has recently been moved to Recommended (or finished) status by the CSS working group is the Selectors module. Although it was completed just a few weeks ago, much of it has already been implemented by some of the browser vendors. The vendors seem very keen to expedite the Selectors module since it can improve HTML and XML document design decidedly and for fairly little effort. As CSS grows, more selectors are adopted, although some can be pruned. This article will review all currently approved selectors. It will address the surviving CSS1 and CSS2 selectors in brief and the new CSS3 selectors in more detail... A cascading style sheet is used to set or change the styles of a markup document like a web page. Style sheets contain rules that web browsers follow when loading a web page, an XML document, or any document written in a compatible markup language. A style sheet rule is composed of two basic components: a selector and a declaration. The selector is an identifier of a markup tag..."

  • [March 18, 2003] "The XML.com Interview: Eric Meyer." By Russell Dyer. From XML.com (March 12, 2003). ['The first in an occasional series of interviews with figures from the XML and Web standards community. Russell Dyer talks to Eric Meyer, an invited expert to the W3C's CSS working group. Eric tells Russell how he first got into CSS, his job with Netscape, and his future plans.'] "One of the key players in the Cascading Style Sheets (CSS) world is Eric Meyer. He is also the author of several popular books on CSS: Cascading Style Sheets: The Definitive Guide (O'Reilly 2000), Cascading Style Sheets 2.0 Programmer's Reference (Osborne 2001), CSS Pocket Reference (O'Reilly 2001), and Eric Meyer on CSS (New Riders 2003). He has written over three dozen articles on CSS. Recently I had the opportunity to interview Eric Meyer and learn how he got involved with CSS in such an instrumental way... Meyer graduated from Case Western Reserve University with a degree in history in 1992... Meyer became Case's web master and had been web designing for a couple of years when he discovered CSS. "I never was happy with the whole font tag thing [or the] tables as layout idea. It seemed like we were going through an awful lot of effort to do very simple things." When CSS came along, however, his reaction was one of elation and relief. "I saw a brief demonstration at a conference. I thought, 'Perfect!' I went home and printed out the CSS specification. I started doing stuff that the specifications said were possible, but it didn't work." It turned out that the web browser he was using had not yet adopted the latest CSS standards. From there Meyer began learning about CSS and browser compatibility..."

  • [December 12, 2001] "XML Tip: Using CSS2 to Display XML Documents. A less 'expensive' alternative to XSLT." By David Mertz, Ph.D. (This-Month-Examiner, Gnosis Software, Inc.). From IBM developerWorks. December 2001. ['Outside of custom editors and viewers, reading XML data is comparatively difficult. A lightweight approach for viewing XML is to attach a cascading style sheet (CSS2) to XML documents and then use a recent Web browser to view them (Mozilla is excellent, IE often adequate). developerWorks columnist David Mertz takes a look at this alternative approach in this tip.'] "Reading XML documents is not easy -- for a human. XML documents are all text, but the visual arrangement of parts does not necessarily correspond well to the conceptual connections between the parts. And finding the content amidst the tags makes skimming difficult. Of course, XML is rarely intended primarily as a format for humans to look at directly. Typically, an XML source is transformed into something else before it becomes ready for human consumption. For prose-oriented documents, usually the target is either an HTML page, or a PDF file -- via Formatting Object (FO) tags -- or perhaps a printed page. XSLT is often used to perform the transformations to human-readable format. For data-oriented XML documents, the target is usually the data format of a DBMS or an in-memory representation by an application that reads XML files... Recent versions of both Internet Explorer and Mozilla/Netscape make an effort to render XML documents along with HTML ones. Other browsers like Opera and Konquorer also implement CSS2 -- Opera 5+ does a flawless job, Konqueror 2.2 a moderately good one. In general Mozilla and Netscape 6 do an excellent and accurate job of displaying an XML document in the styles indicated in a CSS2 style sheet. Internet Explorer, at least as of version 6, does a fair job, but seems to ignore the display: inline attribute. This makes IE6 less suitable for displaying prose-oriented XML documents, but it is still good for data-oriented ones. However, IE6 does have the advantage of displaying XML documents that lack a CSS2 style sheet in a hierarchical tree, and it allows folding subtrees... Normally I either use XMetal (with some XMetal 'rules' provided by my developerWorks colleague Benoît Marchal) or write the source in what I call 'smart ASCII' and transform it to XML using the txt2dw.py tool I wrote that converts the text to the developerWorks' XML manuscript format. As an exercise I decided to write this tip using only a text editor (plus Mozilla 0.9.5). The exercise helped me understand the ins-and-outs of the Web browser-plus-CSS2 approach..."

  • [May 05, 2001] "CSS Enhancements in Internet Explorer 6 Public Preview." By Lance Silver (Microsoft Corporation). From MSDN Online. March 2001. ['This document describes the enhanced support for the Cascading Style Sheets (CSS) specification provided by Microsoft Internet Explorer 6 Public Preview or later. This document assumes that you are familiar with HTML and CSS. To view the samples in this document, you must have Internet Explorer 6 Public Preview or later installed on your system.'] "Microsoft Internet Explorer 6 Public Preview and later supports CSS features that earlier versions of Internet Explorer do not support. Two additional CSS properties are supported -- min-height and word-spacing. Several additional possible values are supported, including the pre value of the white-space property and the list-item value of the display property. Other significant features include stricter parsing of style sheets and changing which HTML elements can represent the outermost surface onto which a document's content can be rendered. These enhancements were made to comply with the CSS specification. All of the properties, values, and features defined in the CSS, Level 1 (CSS1) specification are supported, including the box model that defines how to measure and format elements and their associated margin, border, and padding properties. But what's really cool is that even with all these enhancements, you're unlikely to experience any significant compatibility problems with applications you developed for earlier versions of Internet Explorer. The !DOCTYPE 'Switch': This section describes how to use the !DOCTYPE declaration in your document to switch on standards-compliant mode with Internet Explorer 6 Public Preview or later. The !DOCTYPE declaration is a Standard Generalized Markup Language (SGML) declaration that specifies the document type definition (DTD) a document (theoretically) conforms to. It looks like an HTML tag with no closing tag, but it starts with an exclamation point (!), and it contains single tokens instead of attribute name-value pairs. This declaration must occur at the beginning of the document, before the HTML tag. You switch on standards-compliant mode by including the !DOCTYPE declaration at the top of your document, specifying a valid Label in the declaration, and in some cases, specifying the Definition and/or URL. The Label specifies the unique name of the DTD, and can be appended with the version number of the DTD. The Definition specifies the definition of the DTD that is specified in the Label. The URL specifies the location of the DTD. There are three Definitions specified in the HTML 4.0 specification -- Frameset, Transitional, and Strict. Frameset is used for FRAMESET documents. Transitional contains everything except FRAMESET documents, and Strict, according to the HTML 4.0 specification, "...excludes the presentation attributes and elements the World Wide Web Consortium (W3C) expects to phase out as support for style sheets matures." The following table shows which values of the !DOCTYPE declaration switch on standards-compliant mode with Internet Explorer 6 Public Preview or later..."

  • [October 30, 2000] "CSS 2 Tutorial." By Miloslav Nic. "In this tutorial CSS 2 stylesheets are applied on XML documents. The text is written in pure HTML and can be therefore displayed in any browser. Each example contains one or more xml sources which can be displayed (and formatted) with CSS when the link View output is clicked on. You can start from the Example 1, from the Contents, which contains descriptions of individual examples, or from Index which lists all used properties in the stylesheets with links to individual examples. You can find complete CSS 1 reference as a useful companion to this tutorial. We plan to produce CSS 2 reference in the future. This reference has been developed for Zvon, where you can find other not only XML related materials (both basic and advanced tutorials about XSLT, XML, DTD, Mozilla, CSS, regular expressions, ...)" With an index to all CSS2 properties used in the tutorial.

  • [April 20, 2000] "Style Matters: Architectures for Styling." By Didier Martin. From XML.com. (April 19, 2000). ['How should you style your XML? Client-side or server-side? CSS or XSLT? Didier Martin presents an exploration of architectures for styling your XML.'] "...in order to view an XML document, it has to be transformed into objects that our senses can perceive -- this transformation process is called styling. This transformation can occur either on the server side or on the client side. The same XML document may be presented in many different ways. On a cellular phone, where only a few lines of text are available, the XML document is not displayed in the same way as it would be with a desktop computer browser. Thus, the appearance an XML document takes depends on the client user-agent we are using to render it. Some user agents may transform the document into an aural experience, others into a visual or a tactile experience. So, where should styling occur? In the user-agent, or before the user-agent ever receives a document? Should we use XSLT or CSS? We'll examine the possible combinations of styling languages and processing models. [...] XSLT allows either server side or client side styling. It also offers one to many mappings between XML objects (element, attributes, etc.) and formatting objects. Multiple views can be created from a single XML document, even if these views require a re-ordering or modification of the document's tree structure. CSS is closely mapped to the XML document structure. Some document views are impossible to create with CSS. CSS does not allow distributed processing, it is a client side only styling engine. However, it is a great complement to certain rendering languages like XHTML, HTML or SVG."

  • [February 24, 2000] CSS2 for XML. CSS2 Tutorial, by Miloslav Nic. "I published the first version of CSS2 tutorial at Zvon site. It contains at this moment 50+ XML sources with 100+ simple stylesheets. You need Mozilla browser(http://www.mozilla.org/) to see the examples. I will add support for more browsers (i.e. IE) when they reasonably support CSS2."


Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation

Primeton

XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI: http://xml.coverpages.org/css.html  —  Legal stuff
Robin Cover, Editor: robin@oasis-open.org