Les feuilles de style sont un sur-ensemble du langage HTML, cela signifie qu'elle ne sont
pas intégrées directement dans les recommandations HTML du W3C. Ainsi, il est
nécessaire de renseigner le code HTML avec des éléments indiquant d'une
part le type du document, c'est-à-dire la version des recommandations HTML et CSS utilisées dans la page, et d'autre part
les styles à proprement parler.
Il est nécessaire d'indiquer dans la page HTML le prologue du type de document,
c'est-à-dire une référence à la norme HTML utilisée.
Cette déclaration se fait par une ligne du type :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>...</HEAD>
<BODY>Contenu de la page</BODY>
</HTML>
De plus, une balise Meta permet
d'indiquer au navigateur ou aux moteurs de recherche le langage utilisé pour la
définition des feuilles de style. Cette balise Méta, à inclure dans
l'en-tête HTML du document est la suivante :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
</HEAD>
<BODY>Contenu de la page</BODY>
</HTML>
Les styles peuvent être incorporés au sein du document HTML de trois manières différentes:
- Style du document: déclaré dans l'en-tête, c'est-à-dire au sein des balises <HEAD> et </HEAD>
- Style en ligne, c'est-à-dire en tant qu'attribut des balises
- Style externe, déclaré dans un fichier à part dont l'extension est .css
- Style importé, déclaré dans un fichier à part dont l'extension est .css
Les feuilles de style d'une page web sont déclarées grâce à la balise STYLE,
au sein des balise <HEAD> et </HEAD>.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<STYLE type="text/css">
<!--
Définition des styles;
-->
</STYLE>
</HEAD>
<BODY></BODY>
</HTML>
L'attribut type="text/css" de la balise <STYLE> permet de spécifier le type
de feuilles de style utilisées. La balise de commentaire <!-- ... --> sert à éviter
que des navigateurs peu récents, donc ne supportant pas les feuilles de style, affichent ces informations.
Il est également possible de définir le style au sein même d'une balise d'un document.
On appelle ce type de déclaration une déclaration en ligne.
Cette façon de définir les feuilles de style est peu recommandée car
elle va à l'encontre de l'intérêt des feuilles de style, dans la mesure où
le style est embarqué au sein même de chaque élément.
Cela peut néanmoins servir pour définir de façon exceptionnelle un style
pour un élément HTML particulier, ne nécessitant pas une définition globale.
Pour définir un style en ligne, il suffit de renseigner l'attribut STYLE
de la balise HTML à laquelle on souhaite appliquer un style particulier :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
...
</HEAD>
<BODY>
...
<BALISE Style="style:valeur;"> ... </BALISE>
...
</BODY>
</HTML>
|
Il est possible d'appliquer un style "en ligne" à toutes les balises HTML, hormis les
balises suivantes :
BASE, BASEFONT, HEAD, HTML, META, PARAM, SCRIPT, STYLE, TITLE
|
Voici un exemple de style appliqué à une balise <H1> :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
...
</HEAD>
<BODY>
...
<H1 Style="Font: 18px Verdana; font-weight:bold;"> Titre </H1>
...
</BODY>
</HTML>
Le fait de pouvoir stocker la définition des feuilles de style à l'extérieur du document
est un "plus" car il est ainsi possible, en modifiant le fichier contenant les feuilles de style, de changer l'allure de toutes
les pages web s'y reférant !
Il s'agit dans un premier temps de créer un fichier texte contenant les feuilles de style et dont l'extension est .css, par exemple style.css :
<!--
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
body {background-image: home.gif;}
LI {font: 13px Verdana;}
B {font: 14px Verdana; font-weight: bold;}
A {
font:12px Verdana;
font-weight: bold;
color=black;
text-decoration: none;
}
H1 {font: 16px Arial;font-weight: bold;color=black;}
H2 {font: 14px Arial;font-weight: bold;color=black;}
-->
Dans un second temps il suffit de créer dans chaque page HTML le raccourci vers cette page de définition de style :
<HTML>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="style.css">
</HEAD>
...
- La balise <LINK> avertit le navigateur qu'il doit chercher un document situé à l'extérieur
de la page HTML.
- L'attribut rel="stylesheet" précise que le document en question est une feuille de style externe.
- L'attribut type="text/css" précise le type de feuilles de style.
- L'attribut href=" URL " donne l'URL de la feuille de style, c'est-à-dire son emplacement sur Internet.
Les recommandations du W3C offrent une dernière façon d'inclure des feuilles de style dans un document:
en important des feuilles de style. Il est en effet possible d'importer des feuilles de style externes au
niveau de la déclaration du style de document, en insérant la commande @IMPORT immédiatement
après la balise style :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<STYLE type="text/css">
<!--
@IMPORT URL(url de la feuille à importer);
Définition des styles du document;
-->
</STYLE>
</HEAD>
<BODY></BODY>
</HTML>
|
Si plusieurs définitions importées concernent la même balise, seule la dernière
sera prise en compte par le navigateur
|
Il faut pouvoir dans un même paragraphe appliquer des styles différents à des
morceaux de texte, c'est à cela que servent les balises <SPAN> et <DIV>
La balise <SPAN> sert à appliquer des styles à des morceaux de paragraphe.
Elle s'utilise aussi bien avec ID qu'avec CLASS.
Sa syntaxe est la suivante:
<SPAN class=Nom_de_la_classe> Texte </SPAN>
L'idée est la même pour la balise DIV, cependant au lieu de s'appliquer à quelques
mots dans un paragraphe, elle s'applique sur plusieurs paragraphes.
Sa syntaxe est la suivante:
<DIV class=important> paragraphes </DIV>
Il est possible de définir plusieurs styles en utilisant les différents moyens
qu'offrent les CSS. Ainsi, lorsque plusieurs feuilles de style externes sont appelées,
on obtient ce que l'on appelle une cascade de styles, c'est-à-dire une combinaison
de style pour divers éléments HTML. Si plusieurs styles concernent le même
élément, seul le dernier style sera conservé.
<LINK rel=stylesheet type="text/css" href="style1.css">
<LINK rel=stylesheet type="text/css" href="style2.css">
<LINK rel=stylesheet type="text/css" href="style3.css">
Dans le cas où plusieurs styles sont redondants entre différentes
feuilles de style externes, les recommandations CSS permettent également d'offrir
le choix entre plusiers feuilles de styles alternatives grâce à l'attribut rel
de la balise STYLE, combiné à un attribut TITLE permettant de les choisir
nominativement :
<LINK rel=" alternate stylesheet" type="text/css" href="style1.css" title="style1">
<LINK rel="alternate stylesheet" type="text/css" href="style2.css" title="style2">
<LINK rel=stylesheet type="text/css" href="stylepardefaut.css">
D'autre part, lorsque plusieurs styles sont appelés dans une page en utilisant
le différents moyens d'inclusion possibles, la prise en compte des
styles, lorsque plusieurs styles sont redondants, est telle que le style le plus proche du contenu
est maintenu. Ainsi, l'ordre de priorité est le suivant :
Style en ligne > Style du document > Style importé > Style externe
|