Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
feuilles de style en cascade (CSS)
Les feuilles de style
Syntaxe des styles
Implantation des CSS
Classes de style
Positionner des éléments
La liste des propriétés
Version 2.0.3
CSS - déclaration d'une feuille de style Page précédente Page suivante Retour à la page d'accueil

Déclaration d'une feuille de style

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.

Déclaration du type de document

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>

Incorporer les styles

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

Style du document

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.

Style en ligne

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>

Nota 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>

Style externe

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.

Style importé

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>

Nota Si plusieurs définitions importées concernent la même balise, seule la dernière sera prise en compte par le navigateur

Les balises <SPAN> et <DIV>

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>

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>

La balise <DIV>

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>

Les styles en cascade

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


Page suivante

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.