CSS1
Les feuilles de style HTML
Cascading Style Sheets
par Michel Balmont
Dans un traitement de texte, une feuille de style est un modèle prédéfini et qu'il suffit d'appliquer. C'est bien de cela qu'il est question ici. Le terme «cascading» s'explique par le fait que l'on peut employer plusieurs feuilles de style pour une seule page HTML ; le navigateur respectera toujours un ordre entre elles (la «cascade»).
Le langage HTML est très limité en ce qui concerne la mise en page. Le premier but des feuilles de style est de remédier à cette pauvreté. Un autre est de rendre le code plus léger en évitant les répétitions, et parfois le recours aux images. Elles permettent de contrôler l'apparence d'une page. Elles permettent enfin de créer une charte graphique afin de rendre les différentes pages d'un site esthétiquement cohérentes.
Le W3C a établi un langage standard, CSS. Il en existe déjà deux versions. Cette page présente la première, CSS1.
Dernière remarque, les navigateurs ont plus ou moins bien implémenté les feuilles de style à partir de leur quatrième version (3.5 pour Opera).
Elles sont de trois sortes:
Ils définissent la portée de la règle. Ils peuvent être de trois formes :
<HTML> <HEAD> <TITLE>Title</TITLE> <STYLE TYPE="text/css"> P {font-size:12pt; line-height:12p} P:first-letter {font-size:200%; float:left} SPAN {text-transform:uppercase} </STYLE> </HEAD> <BODY> <P><SPAN>The first</SPAN> few words of an article in The Economist.</P> </BODY> </HTML>
CSS applique le principe de l'héritage. Un style appliqué à un conteneur s'applique à tous les marqueurs que ce dernier contient. Sauf si, dans le marqueur contenu, une nouvelle valeur est indiquée pour la même propriété .
Plusieurs propriétés ne supportent pas l'héritage. Elles sont indiquées dans les tableaux ci-dessous par une astérique (*).
Elles sont au nombre de cinq:
|
Nom |
Sens |
Valeurs | ||||||
|---|---|---|---|---|---|---|---|---|
|
font-family |
Famille de la police |
Une astuce : placez le nom de la famille
générique en fin de liste - Ex. :
{font-family:times, "Goudy old face", serif} | ||||||
|
font-size |
Corps de la police |
| ||||||
|
font-style |
Style de la police |
normal, oblique, italic, all (autorise tous les styles) | ||||||
|
font-weight |
Graisse de la police |
| ||||||
|
font-variant |
Affichage normal ou en petites capitales | |||||||
|
font |
Regroupe les 5 propriétés précédentes, plus line-height |
L'ordre est le suivant font-style, font-variant, font-weight, font-size, line-height, font-family. Pas de virgule entre les valeurs, sauf pour les familles de police. |
Le schéma suivant montre la position des différents éléments paramétrables dans un élément/une «boîte».
|
Nom |
Sens |
Valeurs | ||||
|---|---|---|---|---|---|---|
|
margin-top* |
Marge supérieure |
| ||||
|
margin-right* |
Marge de droite |
| ||||
|
margin-bottom* |
Marge inférieure |
| ||||
|
margin-left* |
Marge de gauche |
| ||||
|
margin* |
Suite de quatre valeurs représentant
l'épaisseur des quatre marges. |
Si quatre valeurs sont indiquées, elles s'appliquent dans l'ordre ci-dessus. Si trois valeurs sont indiquées, elles s'appliquent respectivement aux marges supérieure, droite et gauche. S'il y en a deux, la seconde s'applique aux marges droite et gauche ; s'il n'y en a qu'une aux quatre marges. | ||||
|
|
|
| ||||
|
padding-top* |
Ajustement en haut |
| ||||
|
padding-right* |
Ajustement à droite |
| ||||
|
padding-bottom* |
Ajustement en bas |
| ||||
|
padding-left* |
Ajustement à gauche |
| ||||
|
padding* |
Suite de quatre valeurs représentant
l'épaisseur des quatre ajustements |
Si quatre valeurs sont indiquées, elles s'appliquent dans l'ordre ci-dessus. S'il n'y en a qu'une, elle s'applique aux quatre marges. Si deux ou trois valeurs sont spécifiées, les valeurs manquantes sont reprises sur les côtés opposés. | ||||
|
|
|
| ||||
|
border-style* |
Type de bordure |
none (aucune), dotted (pointillés), dashed (tirets), solid (solide), double (double), groove (en creux), ridge (en saillie), outset (en 3D vers l'avant), inset (en 3D vers l'arrière) | ||||
|
border-color* |
Couleur de la bordure |
| ||||
|
border-width* |
Epaisseur de la bordure |
| ||||
|
border-top* |
Bordure supérieure |
-style, -width, -color | ||||
|
border-right* |
Bordure de droite |
-style, -width, -color | ||||
|
border-bottom* |
Bordure inférieure |
-style, -width, -color | ||||
|
border-left* |
Bordure de gauche |
-style, -width, -color | ||||
|
border* |
Suite de valeurs représentant l'épaisseur, le style et la couleur des quatre bordures (si des paramètres ont été définis auparavant pour un élément, ils sont alors ignorés) |
Si quatre valeurs sont indiquées, elles s'appliquent dans l'ordre ci-dessus. S'il n'y en a qu'une, elle s'applique aux quatre bordures. Si deux ou trois valeurs sont spécifiées, les valeurs manquantes sont reprises sur les côtés opposés. | ||||
|
|
|
| ||||
|
width* |
Largeur d'un bloc |
| ||||
|
height* |
Hauteur d'un bloc |
| ||||
|
float* |
Flottaison d'un bloc |
| ||||
|
clear* |
Analogue à l'attribut "clear" de la balise <BR> |
|
|
Nom |
Sens |
Valeurs | ||||
|---|---|---|---|---|---|---|
|
background-color* |
Couleur unie d'arrière-plan (on peut la modifier dans n'importe quelle balise) |
| ||||
|
background-image* |
Image de fond |
| ||||
|
background-repeat* |
Répétition de l'image |
repeat, repeat-x (répétition sur une ligne horizontale), repeat-y (sur une ligne verticale), no-repeat | ||||
|
background-attachment* |
Déplacement du décor de fond par rapport aux objets présents dans la page |
scroll (image de fond attachée au texte de premier plan), fixed (fixe) | ||||
|
background-position* |
Mise en place précise de l'image |
| ||||
|
background* |
Regroupe les cinq propriétés précédentes |
Dans l'ordre du tableau | ||||
|
color |
Couleur du texte (on peut la modifier dans n'importe quelle balise) - Transparente par défaut |
|
|
Nom |
Sens |
Valeurs |
|---|---|---|
|
list-style-type |
Repère affiché à gauche de chaque article (CSS1 + CSS2) |
square (carré), circle (rond vide), disc (rond plein), decimal (1 2 3), decimal-leading-zero (001, 002, ...999), lower-roman (i ii iii iv), upper-roman (I II III IV) lower-alpha (a b c), upper-alpha (A B C), lower-greek, hebrew, armenian, georgian, cjk-ideographic (idŽogrammes chinois), hiragana, katakana, hiragana-iroha, katakana-iroha, none |
|
list-style-position |
Retrait de chaque article |
|
|
list-style-image |
Remplace le repère standard par une image |
url("url_de_l'image") Si l'image n'est pas disponible, le marqueur texte est utilisé par défaut. |
|
list-style |
Regroupe les trois propriétés précédentes |
Dans l'ordre du tableau ci-dessus. |
|
|
|
|
|
display* |
Détermine l'affichage des éléments de style. Permet de rendre certains éléments invisibles, bien qu'ils occupent toujours de la place sur la page |
|
|
white-space |
Détermine la façon dont sont traités les espaces et les sauts de ligne |
|
Voir le site du World Wide Web Consortium