Initiation aux CSS

Damien Raude-Morvan - <drazzib@drazzib.com>

Pourquoi CSS a-t-il été inventé ?

Les balises de mise en page (comme FONT par exemple) sont exclues du langage HTML et les navigateurs futurs pourront ne pas supporter ces balises. Il s'agit d'un paradigme général consistant à dissocier le contenu d'un document de sa forme. Ici, il semblerait donc que le langage HTML soit destiné à décrire le contenu, les feuilles de style dont nous allons discuter dans la suite servant elles à décrire la forme du document. Les intérêts de cette séparation sont nombreux : un style, appliqué à toutes les pages d'un site, assure la cohérence graphique de ce site ; la maintenance d'un site en est facilitée, un changement de charte graphique ne portera que sur la feuille de style et la modification sera naturellement propagée à toutes les pages ; plusieurs mises en forme différentes peuvent être proposées pour un même document sans que celui-ci ne soit répliqué en autant d'exemplaires ; le code HTML est lisible et facilement modifiable, sans que l'on ait à penser en même temps au contenu et à son apparence ; les pages, dégagées des balises de mise en forme, sont plus légères, donc plus rapides à circuler sur un réseau (la feuille de style est, le plus souvent, très légère et ne sera chargée qu'une seule fois pour l'ensemble des documents qui l'utilisent) ; les balises donnent une indication sur la nature du contenu et cette indication pourra être utilisée par un moteur de recherche.

Lien entre HTML et CSS

Les sélecteurs CSS : Règles de base

Chaque règle CSS est composée :

Le plus souvent le sélecteur est le nom d'un élément HTML.

P { color: gray; }

Sélectionne tous les éléments P du document (représente un paragraphe) et applique la couleur grise au contenu de ceux-ci.

Sélecteurs de classe et d'identifiant

Meme si la manipulation par nom d'element est pratique, on a souvent besoin de différencier une meme balise dans des contextes différents

Attention : dans un meme document HTML, un identifiant ne peut etre présent qu'une seule fois.

La regle d'unicite des identifiants n'est pas vraiment vérifiée par les navigateurs

Sélecteurs d'attributs

Attention : Attention les sélecteurs d'attributs ne fonctionnent pas sour IE 5.0, 5.5 ou 6.0

Utilisation de la structure du document

Concept essentiel :

La structure arborescente des documents

EM = Mise en emphase d'un fragment de texte

Utilisation de la structure du document

Attention les sélecteurs d'enfant et de frères adjacents ne fonctionnent pas sour IE 5.0, 5.5 ou 6.0

Pseudo-classes et pseudo-éléments

Pseudo-classes :

Pseudo-éléments :

Chargement des CSS par « cascade » : source

Les styles CSS ont des sources multiples :

Chargement des CSS par « cascade » : sélection

Trois étapes de sélection :

Spécificité

Permet au navigateur de déterminer quelle règle s'applique à un élément du document lorsque plusieurs sont « en compétition » Quelques exemples :

Spécificité : pense bete

Explication de la spécificité des CSS - avec les personnages de Starwars

Héritage

Le modèle « parent-enfant ».

Mise en forme, styles des caractères

Mise en forme des paragraphes

Listes d'éléments

Positionnement : Boites

Il existe en fait deux types de boites :

Pour changer le mode d'une boite, il faut utiliser la propriété CSS display

Le flux normal et au delà des limites

Par défaut, les navigateurs affichent les boîtes dans l'ordre du flux normal.