Syntaxe & sélecteurs
Le CSS dit à quoi ressemblent les éléments. Tout commence par choisir quels éléments styler : c'est le rôle du sélecteur.
Anatomie d'une règle
h1 { ← sélecteur : QUI ?
color: tomato; ← propriété: valeur;
font-size: 40px; ← on finit par un point-virgule
}
Où écrire son CSS ?
① Fichier séparé ✅
<link rel="stylesheet" href="style.css"> dans le head. La bonne pratique : un seul fichier pour tout le site.
② Balise style
<style> h1 { … } </style> dans le head. Pratique pour tester.
③ Attribut style
<p style="color:red">. À éviter : difficile à maintenir.
Les sélecteurs essentiels
| Sélecteur | Cible… |
|---|---|
p | toutes les balises <p> |
.promo | les éléments avec class="promo" (réutilisable) |
#logo | l'élément avec id="logo" (unique dans la page) |
h1, h2 | les h1 et les h2 (groupe) |
nav a | les liens qui sont dans un nav (descendant) |
* | tous les éléments |
Décommente les règles une à une (retire /* et */) pour voir qui est ciblé :
class="bouton rouge grand". Et p.promo cible les p qui ont la classe promo.Les pseudo-classes
Elles ciblent un état ou une position. Survole les éléments de l'aperçu !
Qui gagne en cas de conflit ?
Quand deux règles se contredisent : la plus précise gagne (#id > .classe > balise). À précision égale, la dernière écrite gagne.
Si on supprime la règle #msg ci-dessus, de quelle couleur sera le texte ?
- Bleu
- Rouge
- Orange
La classe .alerte est plus précise que la balise p, peu importe l'ordre. (Vérifie en modifiant le code !)
À toi de jouer
Le jeu des sélecteurs
Ne touche pas au HTML : écris seulement le CSS.
- Les titres
h1eth2ennavy(une seule règle). - Les éléments de classe
importantenred. - Le paragraphe d'id
introen italique (font-style: italic). - Les liens du menu uniquement sans soulignement (
text-decoration: none).
Indice
Il faut 4 règles, une par consigne. Rappel : balise =h1, classe = .nom, identifiant = #nom.Indice
Plusieurs sélecteurs dans une seule règle : sépare-les par une virgule,h1, h2 { … }. « Les liens dans le menu » : un espace entre les deux, nav a.Indice
Les sélecteurs à utiliser :h1, h2 { color: navy; }
.important { ... }
#intro { ... }
nav a { ... }Le tableau zébré
- Les lignes paires du tableau ont un fond
#eeeeee. - La première ligne (en-tête) est en gras (
font-weight: bold). - Au survol d'une ligne, son fond devient
gold.
Indice
Chaque ligne est untr. Les pseudo-classes ciblent selon la position ou l’état : :first-child, :nth-child(), :hover.Indice
tr:nth-child(even) cible les lignes paires. tr:hover s’applique quand la souris survole une ligne.Indice
Les trois règles à compléter :tr:nth-child(even) { background: #eeeeee; }
tr:first-child { ... }
tr:hover { ... }À retenir
sélecteur { propriété: valeur; }balise,.classe,#id,a, b(groupe),a b(descendant).- Pseudo-classes :
:hover,:focus,:first-child,:nth-child(). - Conflit : le plus précis gagne, puis le dernier écrit.