Languages

Web Style Sheets home page

“Hopefully, future Web innovations will emulate the example set by the Web Consortium in its work on CSS”

— Jakob Nielsen

What's new?

See the “what's new?” sections of CSS, XSL and Digital Publishing.

What are style sheets?

Style sheets describe how documents are presented on screens, in print, or perhaps how they are pronounced. W3C has actively promoted the use of style sheets on the Web since the Consortium was founded in 1994. The Style Activity has produced several W3C Recommendations (CSS1, CSS2, XPath, XSLT). CSS especially is widely implemented in browsers.

By attaching style sheets to structured documents on the Web (e.g. HTML), authors and readers can influence the presentation of documents without sacrificing device-independence or adding new HTML tags.

The easiest way to start experimenting with style sheets is to find a browser that supports CSS. Discussions about style sheets are carried out on the [email protected] mailing list and on comp.­infosystems.­www.­authoring.­stylesheets.

The W3C Style Activity is also developing XSL, which consists of a combination of XSLT and “Formatting Objects” (XSL-FO).

Why two Style Sheet languages?

Diagram of the role of XSL and CSS in       rendering HTML and XML documents

Wondering which one to choose? Read "CSS & XSL"

The fact that W3C has developed 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 answer can be found in the table below:

CSS XSL
Can be used with HTML? yes no
Can be used with XML? yes yes
Transformation language? no yes
Syntax CSS XML

The unique features are that CSS can be used to style HTML & XML documents. XSL, on the other hand, is able to transform 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 use the same underlying formatting model and designers therefore have access to the same formatting features in both languages. W3C will work hard to ensure that interoperable implementations of the formatting model are available.

A W3C Note on "Using XSL and CSS together" is available.

Press clippings

If you are new to the subject, you may want to start by reading some press clippings on style sheets:

See the CSS and XSL pages for more (and more recent) articles.

CSS

CSS

Information about the buttons at the bottom of this page is available on the button page and at the CSS validator.

Cascading Style Sheets (CSS) is a style sheet mechanism that has been specifically developed to meet the needs of Web designers and users.

XSL

W3C's XSL Working Group developed the eXtensible Style Language. (As of 2016, the Working Group is not active.) XSL builds on DSSSL and CSS and is primarily targeted for highly structured XML data which, e.g., needs element reordering before presentation. For more information on XSL see the W3C XSL resource page.

Digital Publishing

The Digital Publishing activity and Interest Group looks at how Web technology can be improved for and used in publishing. Both XSL and CSS play a big role, along with other technologies, such as XML, SVG and RDF.

DSSSL

DSSSL is a document tree transformation and style language in with many adherents in the SGML community. DSSSL resources on the Web:

CSS-DOM & SAC

A CSS file can be created and edited “by hand,” i.e., with a text editor, but you can also write a program in ECMAscript, Java or some other language, that manipulates a style sheet. This is in fact so common, that there are software libraries of useful functions available. To help in porting such program & libraries to different computer platforms, W3C has developed a specification called CSS-DOM, that defines a set of functions that all such libraries must provide.

The CSS Document Object Model is an API (Abstract Programming Interface) for manipulating CSS (and to a certain extent also other style languages) from within a program. An API is the specification of a software library. You can see it as a manual: it describes the functions and their parameters, but doesn't contain the actual code.

There are several CSS-DOM libraries available, for different platforms. Many of them are free. Many browsers have a CSS-DOM library built-in, for use by ECMAScript programs.

SAC (Simple API for CSS) is a complement to the CSS-DOM. The CSS-DOM contains functions to manipulate a style sheet after it has been loaded into memory; the functions defined by SAC help in parsing a style sheet, i.e., in transferring a style sheet from a file into memory.

The CSS-DOM is a W3C Recommendation. SAC is a project under development. Some software (other than browsers) is listed on the CSS overview page.

Conferences, workshops, research

See also:

The W3C team and representatives of W3C members often give presentations.

Dynamic HTML

Dynamic HTML is a term used to describe HTML pages with dynamic content. CSS is one of three components in dynamic HTML; the other two are HTML itself and JavaScript (which is being standardized under the name EcmaScript). The three components are glued together with DOM, the Document Object Model.

Related resources

Bert Bos, style activity lead
Copyright © 1994–2022 W3C® Privacy policy

CSS Valid     CSS! Created 22 July 1999.
Last updated Thu 31 Mar 2022 08:28:11 PM UTC

Languages

About the translations