Lisez-moi S.V.P. 

1 À propos de la spécification CSS2

Contenu

1.1 Lire la spécification

La rédaction de cette spécification tient compte de deux types de lecteurs : les auteurs de feuilles de style et les personnes chargées de leur implémentation. Nous espérons que la spécification fournira aux auteurs les moyens d'écrire des documents efficaces, attractifs et accessibles, sans pour autant les noyer dans le détail de la mise en œuvre des CSS. Cependant, les maîtres d'œuvre devraient y trouver le nécessaire pour construire des agents utilisateurs conformes.

Le document commence par une présentation générale des feuilles de style pour devenir de plus en plus technique et spécifique vers la fin. L'accès rapide aux informations est facilité au travers d'un sommaire général, de sommaires spécifiques en début de chacun des chapitres et d'un index, à la fois dans les versions électroniques et imprimées.

La spécification tient également compte de ces deux modes de présentation. Bien que celles-ci soient sans doute similaires, le lecteur remarquera quelques nuances. Par exemple, les liens ne fonctionnent (évidemment) pas dans la version imprimée et la numérotation des pages n'apparaît pas dans la version électronique. En cas de doute, la version électronique du document fait autorité.

1.2 Organisation de la spécification

Le document est organisé selon le découpage suivant :

Chapitre 2 : Une introduction à CSS2
L'introduction inclut un bref tutoriel de CSS2 et une discussion des principes de construction sous-jacents à CSS2.
Chapitre 3 à 20 : Manuel de référence de CSS2.
Le corps de ce manuel représente le langage de référence de CSS2. On y définit ce qu'on peut mettre dans une feuille de style (syntaxe, propriétés, valeurs de propriétés) et comment les agents utilisateurs doivent interpréter les feuilles de style pour prétendre à la conformité.
Annexes :
Les annexes contiennent des renseignements sur un exemple de feuille de style pour HTML 4.0, les changements depuis CSS1, la mise en œuvre et les notes d'évaluation, la grammaire de CSS2, une liste de références normatives et informatives et trois index : un pour les propriétés, un autre pour les descripteurs et un index général.

1.3 Conventions

1.3.1 Les conventions pour les éléments et attributs dans le langage du document

1.3.2 Les définitions des propriétés CSS

Chaque définition d'une propriété CSS commence par un résumé des informations clés comme dans ce qui suit :

'nom de la propriété'
Valeur :  valeurs et syntaxe légales
Valeur initiale :  valeur initiale
S'applique à :  les éléments sur lesquels agit la propriété
Héritée :  si oui ou non la propriété est héritée
Pourcentage :  comment interpréter les valeurs en pourcentage
Médias :  à quels groupes de médias s'adresse la propriété

Valeur

Cette partie spécifie le jeu de valeurs valides pour la propriété. On désigne les types de valeur de plusieurs façons avec :

  1. des valeurs de mot-clé (ex. auto, disc, etc.) ;
  2. les types de données de base entre "<" et ">" (ex. <longueur>, <pourcentage>, etc.). Dans la version électronique, chaque instance d'un type de données offre un lien vers sa définition ;
  3. les types dont les valeurs légales sont les mêmes que celles des propriétés qui portent le même nom (ex. <'border-width'>, <'background-attachment'>, etc.). Dans ce cas, on donne le nom de ce type (complet avec guillemets) entre "<" et ">" (ex. <'border-width'>). Dans la version électronique, chaque instance de ce type des non-terminaux offre un lien vers la propriété correspondante ;
  4. des non-terminaux qui n'ont pas le même nom que celui de la propriété. Dans ce cas, le nom non-terminal se met entre "<" et ">" comme dans <border-width>. Remarquer la distinction entre <border-width> et <'border-width'>, le dernier étant défini selon le premier. La définition d'un non-terminal se trouve à côté de sa première apparition dans la spécification. Dans la version électronique, chaque instance de ce type offre un lien vers la définition de la valeur correspondante.

D'autres mots sont des mots-clés qui doivent apparaître littéralement sans guillemets (ex. red) tout comme les caractères barre oblique (/) et virgule.

Les valeurs se rangent comme suit :

La juxtaposition a plus de poids que la double barre et la double barre que la barre. Les lignes suivantes sont ainsi équivalentes :

    a b   |   c || d e
  [ a b ] | [ c || [ d e ]]

Chaque type, mot-clé ou groupe entre crochets peut être suivi par l'un des modificateurs suivants :

L'exemple qui suit illustre différents types de valeur :

Valeur : N | NW | NE
Valeur : [ <longueur> | thick | thin ]{1,4}
Valeur : [<famille-nom> , ]* <famille-nom>
Valeur : <uri>? <couleur> [ / <couleur> ]?
Valeur : <uri> || <couleur>

Valeur initiale

Cette partie spécifie la valeur initiale de la propriété. Si la propriété est héritée, c'est la valeur donnée à l'élément racine de l'arbre du document. Concernant l'interaction entre les valeurs spécifiées dans la feuille de style, celles héritées et celles initiales, consulter le chapitre sur la cascade.

S'applique à

Cette partie donne la liste des éléments concernés par la propriété. Chacun des éléments est supposé avoir toutes les propriétés, mais quelques-unes d'entre elles ne produisent aucun effet sur certains types d'éléments. Par exemple, 'white-space' ne touche que les éléments de type bloc.

Héritée

Cette partie indique si la valeur de la propriété est héritée d'un élément ancêtre. Concernant l'interaction entre les valeurs spécifiées dans la feuille de style, celles héritées et celles initiales, consulter le chapitre sur la cascade.

Pourcentage

Cette partie indique comment interpréter les valeurs exprimées en pourcentage, le cas échéant, de la propriété. La mention "sans objet" signifie que la propriété n'admet pas de valeurs en pourcentage.

Médias

Cette partie indique les groupes de médias qui sont concernés par la propriété. Les conditions de conformité obligent les agents utilisateurs à respecter cette propriété si ceux-ci supportent les types de média indiqués par ces groupes de médias.

1.3.3 Les propriétés raccourcies

Quelques propriétés sont des propriétés raccourcies, les auteurs pouvant spécifier en une seule propriété, les valeurs de plusieurs autres propriétés.

Ainsi, la propriété 'font' est une propriété raccourcie qui permet de fixer en une seule fois les valeurs de 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' et 'font-family'.

Quand des valeurs sont absentes de la forme raccourcie, chacune des propriétés "manquantes" revêt sa valeur initiale (voir le chapitre sur la cascade).

Les propriétés raccourcies admettent une liste de valeurs de sous-propriétés ou la valeur 'inherit'. On ne peut pas mélanger la valeur 'inherit' avec d'autres valeurs de sous-propriétés car il serait sinon impossible de définir la sous-propriété à laquelle 'inherit' s'applique. Les définitions de certaines propriétés ne respectent pas cette règle : 'border-top', 'border-right', 'border-bottom', 'border-left', 'border', 'background', 'font', 'list-style', 'cue' et 'outline'.

Exemple(s) :

Soient les multiples règles de style de cet exemple :

H1 { 
  font-weight: bold; 
  font-size: 12pt;
  line-height: 14pt; 
  font-family: Helvetica; 
  font-variant: normal;
  font-style: normal;
  font-stretch: normal;
  font-size-adjust: none
}

on peut les récrire en une seule propriété raccourcie :

H1 { font: bold 12pt/14pt Helvetica }

Ici, 'font-variant', 'font-stretch', 'font-size-adjust' et 'font-style' prennent leur valeur initiale.

1.3.4 Les notes et les exemples

Tous les exemples qui illustrent un usage interdit sont repérés avec l'expression "NON ADMIS".

Tous les exemples HTML sont conformes au DTD HTML 4.0 strict (tel que défini dans [HTML40]), à moins qu'une autre déclaration de type de document (DOCTYPE) ne soit précisée.

Les notes sont seulement informatives.

Les exemples et les notes sont indiqués dans la source HTML de la spécification pour un rendu particulier par les agents utilisateurs CSS1.

1.3.5 Les images et les descriptions longues

La plupart des illustrations de la version électronique sont accompagnés de "descriptions longues" de leur représentation. Un "[D]" à droite de l'image signale un lien vers une description longue.

Les images et descriptions longues sont seulement informatives.

1.4 Remerciements

Cette spécification est le produit du Groupe de Travail du W3C sur les feuilles de style en cascade et les propriétés de formatage. En plus des éditeurs du présent document, voici les membres de ce groupe : Brad Chase (Bitstream), Chris Wilson (Microsoft), Daniel Glazman (Electricité de France), Dave Raggett (W3C/HP), Ed Tecot (Microsoft), Jared Sorensen (Novell), Lauren Wood (SoftQuad), Laurie Anna Kaplan (Microsoft), Mike Wexler (Adobe), Murray Maloney (Grif), Powell Smith (IBM), Robert Stevahn (HP), Steve Byrne (JavaSoft), Steven Pemberton (CWI), Thom Phillabaum (Netscape), Douglas Rand (Silicon Graphics), Robert Pernett (Lotus), Dwayne Dicks (SoftQuad), et Sho Kuwamoto (Macromedia). Nous les remercions de leurs efforts assidus.

Un certains nombre d'experts invités par le Groupe de Travail ont également contribué : George Kersher, Glenn Rippel (Bitstream), Jeff Veen (HotWired), Markku T. Hakkinen (The Productivity Works), Martin Dürst (W3C, anciennement Universität Zürich), Roy Platon (RAL), Todd Fahrner (Verso), Tim Boland (NIST), Eric Meyer (Case Western Reserve University) et Vincent Quint (W3C).

Le chapitre des polices sur le web a été fortement marqué par Brad Chase (Bitstream), David Meltzer (Microsoft Typography) et Steve Zilles (Adobe). Les personnes suivantes ont aussi fait des apports à ce chapitre : Alex Beamon (Apple), Ashok Saxena (Adobe), Ben Bauermeister (HP), Dave Raggett (W3C/HP), David Opstad (Apple), David Goldsmith (Apple), Ed Tecot (Microsoft), Erik van Blokland (LettError), François Yergeau (Alis), Gavin Nicol (Inso), Herbert van Zijl (Elsevier), Liam Quin, Misha Wolf (Reuters), Paul Haeberli (SGI) et le dernier Phil Karlton (Netscape).

Le chapitre sur les médias paginés est en grande partie dû à Robert Stevahn (HP) et Stephen Waters (Microsoft).

Robert Stevahn (HP), Scott Furman (Netscape) et Scott Isaacs (Microsoft) furent des interlocuteurs clés pour le positionnement en CSS.

Mike Wexler (Adobe) a écrit la version préliminaire qui décrit plusieurs des nouvelles fonctions de CSS2.

T.V. Raman (Adobe) a fait des contributions essentielles pour les feuilles de styles auditives [Aural Cascading Style Sheets (ACSS)] et les concepts de présentation auditive à partir de ses travaux chez AsTeR (Audio System For Technical Readings). Il a produit le premier jet de la spécification ACSS qui régit la présente spécification. Les valeurs des propriétés auditives dans l'exemple de feuille de style pour HTML 4.0 sont de son fait ; il les utilise quotidiennement sur sa machine audio en conjonction avec Emacspeak et le navigateur Emacs du W3 (dont l'auteur est William Perry, celui-ci a déjà mis en œuvre les extensions auditives pour le compte du W3).

Todd Fahrner (Verso) a examiné les navigateurs anciens et modernes pour développer l'exemple de feuille de style de l'annexe.

Merci à Jan Kärrman, auteur de html2ps pour l'aide apportée à la création de la version PostScript de la spécification.

Les personnes suivantes ont contribué au développement de CSS2 via des rencontres électroniques ou physiques : Alan Borning, Robert Cailliau, Liz Castro, James Clark, Dan Connolly, Donna Converse, Daniel Dardailler, Al Gilman, Daniel Greene, Scott Isaacs, Geir Ivarsøy, Vincent Mallet, Kim Marriott, Brian Michalowski, Lou Montulli, Henrik Frystyk Nielsen, Jacob Nielsen, Eva von Pepel, William Perry, David Siegel, Peter Stuckey et Jason White.

Les discussions sur www-style@w3.org ont influencé plusieurs questions capitales de CSS. Nous voudrions remercier spécialement Bjorn Backlund, Todd Fahrner, Lars Marius Garshol, Sue Jordan, Ian Hickson, Susan Lesch, Andrew Marshall, MegaZone, Eric Meyer, Russell O'Connor, David Perrell, Liam Quinn, Jon Seymour, Neil St. Laurent, Taylor, Brian Wilson et Chris Wilson de leur participation.

Beaucoup de remerciements au Groupe de Travail de Correction Technique de l'Initiative pour l'Accessibilité au Web, Protocoles et Formats [Web Accessibility Initiative Protocols and Formats Technical Review (WAI PF)] pour son aide à améliorer l'accessibilité dans CSS2.

Un grand merci à Philippe Le Hégaret, dont le validateur CSS a permis de fournir des exemples corrects et une grammaire raisonnable.

Remerciement spécial à Arnaud Le Hors, dont l'apport technique fait que ce document fonctionne.

Adam Costello a amélioré cette spécification grâce à une relecture détaillée.

Enfin, merci à Tim Berners-Lee sans qui rien de tout ceci n'aurait été possible.

1.5 Notice de copyright

Copyright © 1997 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Tous droits réservés.

Les documents sur le site du W3C sont présentés par les détenteurs du copyright sous la licence suivante. Par l'obtention, l'usage et/ou la copie de ce document ou bien du document du W3C auquel cette déclaration est liée, vous reconnaissez avoir lu, compris et vous soumettre aux termes et conditions suivantes :

La permission d'utiliser, copier et distribuer le contenu de ce document ou du document du W3C auquel cette déclaration est liée, est présentement accordée pour tout média, dans tout but et sans redevance ni royalties, à condition d'inclure ce qui suit sur toutes les copies du document ou parties de celui-ci que vous utilisez :

  1. Un lien ou une adresse URI vers le document original du W3C
  2. La notice de copyright préexistante de l'auteur original, et s'il n'y en a pas, une notice de la forme : "Copyright © World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Tous droits réservés."
  3. S'il existe, le STATUT du document du W3C.

Si l'espace le permet, le texte complet de cette NOTICE devrait être fourni. Ainsi que les crédits envers les détenteurs du copyright pour tout logiciel, documents ou autres articles ou produits que vous créez suivant l'implémentation de tout ou partie de ce document.

Aucun droit de créer des modifications ou dérivés n'est autorisé conformément à cet accord.

CE DOCUMENT EST FOURNI "TEL QUEL", ET LES DÉTENTEURS DU COPYRIGHT NE FONT AUCUNE DÉCLARATION NI GARANTIE, EXPRESSE OU IMPLICITE, EN PARTICULIER, MAIS NON LIMITATIVEMENT, DE GARANTIE DE COMMERCIABILITÉ, D'ADÉQUATION À UN USAGE PARTICULIER, DE NON-INFRACTION OU D'AUTORISATION ; QUE LE CONTENU DE CE DOCUMENT SOIT ADAPTÉ À QUELQUE USAGE QUE CE SOIT ; NI QUE LES IMPLÉMENTATIONS DE CE CONTENU N'ENFREINDRONT LES BREVETS, COPYRIGHTS, MARQUES DÉPOSÉES OU AUTRES DROITS DE TIERCES PARTIES.

LES DÉTENTEURS DU COPYRIGHT NE SERONT RESPONSABLES D'AUCUN DOMMAGE DIRECT OU INDIRECT, NI DES CONSÉQUENCES RÉSULTANT DE TOUTE UTILISATION DE CE DOCUMENT OU DE L'EXÉCUTION OU IMPLÉMENTATION DE SON CONTENU.

Le nom des personnes ou des marques détentrices des droits d'auteur ne doit PAS être utilisé pour la publicité ou pour faire connaître ce document ou son contenu sans permission écrite particulière préalable. Les droits de reproduction de ce document restent acquis aux détenteurs des droits d'auteur.