Les feuilles de style en cascade 

 la norme CSS1 du W3C 

 

Pour répondre à la demande des concepteur web désireux d'améliorer les mises en page HTML, le Consortium W3 a défini la norme CSS1 pour "Cascading Style Sheets" ou feuilles de style en cascade.
Les FSC c'est d'abord la possibilité de redéfinir les attributs attachées au balises standards permettant ainsi la mise à jour dynamique d'un document HTML déjà rédigé. Mais les FSC c'est aussi un plus grand nombre de possibilités de mises en forme typographiques : approches, interlignage...
Seul inconvénient : la norme CSS1 est récente et seules les dernières versions (4) des navigateurs Netscape et Internet Explorer interprètent correctement le FSC.

 

Comment ça marche ?

Le concepteur web peut, au début, de son travail redéfinir comme il l'entend les marqueurs HTML standards en leur associant un ensembles de mises en forme élaborées.
Une fois sa page réalisée le concepteur peut, s'il le souhaite, en changer totalement l'apparence, en modifiant seulement les définitions initiales ou styles qu'il a créés.
Ces définitions peuvent être stockées dans un fichier externe (un feuille de styles). Toutes les pages d'un site font référence à ce fichier et la mise en forme du site ne dépend plus, dès lors, que d'un seul document.

 

Suivez le guide :

C'est le tag <Style> qui permet la redéfinition d'un marqueur HTML standard. Un peut ne l'utiliser que ponctuellement comme ici :

 
<H2 STYLE="color: yellow">Ceci est un titre de niveau hiérarchique 2 qui s'affichera en jaune.</H2>


Ou bien globalement, c'est à dire une fois pour toutes dans l'en-tête du document :


<HTML>
<HEAD>
<STYLE TYPE="text/css">
H1 {color : red ; font-family:sans-serif }
H2 {color: blue }
</STYLE>
</HEAD>

Tout titre de niveau 2 c'est-dire tout bloc marqué par le tag <H2> sera désormais affiché en bleu. S'il souhaite redéfinir la mise en forme de toute sa page, le concepteur se contentera de modifier les quelques lignes définissant les styles. Le gain de temps est évident.
S'il s'agit de définir des styles pour un site entier comprenant des centaines de pages maintenant, on préférera définir les styles dans un seul fichier externe, une feuille de styles, à laquelle toutes les pages du site feront référence :
Ce fichier qui ne doit pas contenir de balise HTML sera simplement un fichier texte contenant les définitions requises :


/* ici débute ma feuille de style nommée "mesStyles.css" */


P { font-family:sans-serif}
B { color:blue }
H1 { color : red }
H2 { color: blue; letter-spacing : -2 em }
...


A noter : il est même possible de redéfinir la balise <BODY> dans ce fichier externe :


BODY {font-family:Arial; font-size:12pt; background-color:#ff33cc}


Auquel cas, ce sont ces attributs de mise en forme qui seront appliqués aux documents liés et ce en dépit de leurs propres balises <BODY>.


Afin d'utiliser ces définitions dans un site, il faudra relier chaque page du site au fichier externe à l'aide de la balise LINK :

<HEAD>
<LINK REL=STYLESHEET TYPE="text/css"
HREF="http://members.xoom.com/Crapo
web/mesStyles.css">
</HEAD>

La plupart des navigateurs, après avoir appelé la feuille de style, la garderont dans leur cache. Les autres pages du site qui l'utilisent n'auront donc pas à attendre son chargement et seront affichées plus rapidement


Il est possible de constituer un style global à l'aide de plusieurs feuilles de style. Il faut alors utiliser le même <TITLE> pour chacune des feuilles à combiner avec les autres :


<HEAD>
<LINK REL=StyleSheet TYPE=" text/css " HREF=" Tableaux.css " TITLE=" old style ">
<LINK REL=StyleSheet TYPE=" text/css " HREF=" typographie.css " TITLE=" old style ">
<LINK REL=StyleSheet TYPE=" text/css " HREF=" formulaires.css " TITLE=" old style ">
</HEAD>


Dans cet exemple, le style " old style " est constitué des définitions fournies par trois fichiers externes ou feuilles de style : Tableaux.css, typographie.css, formulaires.css.

Les Styles imbriqués

Une balise à été redéfinie globalement pour tout un site dans une feuille de style externe (voir plus haut) , mais rien n'interdit l'utilisation simultanée d'une feuille de style différente dans l'en-tête d'une page du site puis, derechef, l'utilisation ponctuelle du tag <STYLE> au sein de cette page ! Lequel de ces styles aura priorité ? On parle dans ce cas de styles en cascade. Les règles concernant l'imbrication des feuilles de styles sont nombreuses (et complexes voir plus haut avec la balise <BODY>) mais on peut les simplifier en disant que les navigateur donnent en général la priorité aux styles les plus proches du bloc.

 

Les mises en formes possibles :

Un redéfinition de balise, un style est toujours rédigé ainsi :


sélecteur { propriété : valeur }


lorsqu 'un style implique plusieurs propriétés, on sépare celles-ci par un point-virgule :


STRONG { color: red ; font-size: large }


De nombreuses propriétés peuvent être utilisées qui étendent considérablement les possibilités de mises en forme offert par le HTML. Voici une liste de propriétés utilisables suivi de quelques valeurs exemples :


font-family : arial, helvetica, sans-serif
font-family : cursive
font-family : fantasy
font-family : monospace
font-family : serif
font-family : "new century schoolbook", times, verdana


font-style : normal
font-style : italic

font-variant : normal
font-variant : small-caps


font-weight : normal
font-weight : bold
font-weight : bolder
font-weight : lighter

font-size 12pt
font-size : 150%
font-size : xx-small
font-size : small
font-size : medium
font-size : large
font-size : x-large
font-size : larger
font-size : smaller


la propriété font permet de regrouper plusieurs propriétés en une seule définition : l'ordre est le suivant : font-style, font-variant, font-weight, font-size / line-height, font-family. Les propriétés omises sont fixées à leurs valeurs par défaut.

 


font : normal small-caps 12pt/14pt fantasy
font : 120% serif


color : red
color : rgb(255,0,0)


background-color : #F00


background-image : url(monImage.gif)


La propriété background-attachment détermine si l'image de fond suit le défilement de la page. Les valeurs possibles sont scroll (par défaut) et fixed

background-attachment : fixed

 


word-spacing permet d'accroître d'une valeur spécifiée la longueur de l'espace intermots.

 


word-spacing : normal
word-spacing : 0.4 em


letter-spacing permet d'accroître d'une valeur spécifiée la longueur de l'écart interlettres.

 
letter-spacing : 0.1 em
letter-spacing : - 0.5 em


text-decoration : none
text-decoration : underline
text-decoration : overline
text-decoration : blink


vertical-align : top
vertical-align : middle
vertical-align : bottom


text-transform : capitalize
text-transform : lowercase


text-align : left
text-align : right
text-align : center
text-align : justify


text-indent : 3em


line-height : 1.5
line-height : 130 %
line-height : 1 em


border-width : thin
border-width : medium


border-color : black


border-style : dotted
border-style : solid
border-style : double
border-style : ridge


Les propriétés d'échelle width et height peuvent être appliquées à des éléments textuels mais sont plus utiles pour des images. Leurs valeurs par défaut sont " auto ".

 
width : 100px
width : auto


height : auto


list-style-type : decimal
list-style-type : lower-alpha
list-style-type : upper-roman


La propriété list-style-image définit l'image qui sera utilisée comme marqueur de liste.

 
list-style-image : url(petitRond.gif)

 

 


Pour une liste complète des propriétés utilisables et des valeurs possibles consulter la recommandation REC-CSS1-961217 du W3C.