📗 Chapitre 1 : Sélecteurs de base
1 Sélecteur Universel *
📖 Définition : Sélectionne TOUS les éléments de la page.
* {
margin: 0;
padding: 0;
border: 1px dashed #3498db;
}
Titre
Paragraphe
Texte2 Sélecteur de Type p, h1, div...
📖 Définition : Sélectionne toutes les balises du même type.
p {
color: #e74c3c;
font-weight: bold;
}
Paragraphe 1 (rouge gras)
Paragraphe 2 (rouge gras)
Span - pas affecté3 Sélecteur de Classe .nom
📖 Définition : Sélectionne les éléments avec une classe spécifique.
.highlight {
background: #f9e79f;
padding: 10px;
border-radius: 8px;
}
Texte surligné !
Texte normal
Encore surligné !
4 Sélecteur d'ID #nom
📖 Définition : Sélectionne un élément unique par son identifiant.
#unique {
background: #2c3e66;
color: white;
padding: 15px;
border-radius: 8px;
}
5 Sélecteur d'Attribut [attr]
📖 Définition : Sélectionne selon la présence ou la valeur d'un attribut HTML.
input[type="text"] {
border: 2px solid #3498db;
padding: 8px;
border-radius: 6px;
}
input[type="password"] {
border: 2px solid #e74c3c;
padding: 8px;
border-radius: 6px;
}
Texte :
Password :
📘 Chapitre 2 : Combinaisons
6 Descendant A B (espace)
📖 Définition : Sélectionne tous les B à l'intérieur de A (à n'importe quelle profondeur).
div p {
background: #d4f1f9;
padding: 5px;
}
7 Enfant Direct A > B
📖 Définition : Sélectionne uniquement les enfants directs (pas les petits-enfants).
div > p {
background: #fdebd0;
padding: 5px;
}
✓ Enfant direct
✗ Petit-enfant (pas ciblé)
8 Frère Adjacent A + B
📖 Définition : Sélectionne l'élément immédiatement après A.
h4 + p {
color: #e74c3c;
font-weight: bold;
}
Titre H4
✓ Je suis juste après
✗ Je suis le 2ème paragraphe
9 Frères Généraux A ~ B
📖 Définition : Sélectionne tous les frères B qui suivent A.
h4 ~ p {
background: #d5f5e3;
padding: 5px;
}
Titre H4
✓ Paragraphe 1
✓ Paragraphe 2
✓ Paragraphe 3
10 Groupé A, B, C
📖 Définition : Applique le même style à plusieurs sélecteurs.
h3, h4, p {
color: #8e44ad;
font-style: italic;
}
Titre H3
Titre H4
Paragraphe
📙 Chapitre 3 : Pseudo-classes (État)
11 Survol :hover
📖 Définition : Style appliqué quand la souris survole l'élément.
button:hover {
background: #e74c3c;
transform: scale(1.05);
}
12 Focus :focus
📖 Définition : Style appliqué quand l'élément reçoit le focus (clic ou Tab).
input:focus {
border-color: #2ecc71;
outline: none;
box-shadow: 0 0 5px #2ecc71;
}
13 Actif :active
📖 Définition : Style appliqué au moment du clic.
button:active {
transform: scale(0.95);
}
14 Premier Enfant :first-child
📖 Définition : Sélectionne le premier enfant d'un parent.
li:first-child {
background: #2ecc71;
color: white;
}
- 🥇 Premier item
- Item 2
- Item 3
15 Dernier Enfant :last-child
📖 Définition : Sélectionne le dernier enfant d'un parent.
li:last-child {
background: #e74c3c;
color: white;
}
- Item 1
- Item 2
- 🔴 Dernier item
📒 Chapitre 4 : Pseudo-classes avancées
16 Nième Enfant :nth-child
📖 Définition : Sélectionne l'enfant numéro n (ou pairs/impairs).
li:nth-child(odd) { background: #d4f1f9; }
li:nth-child(even) { background: #fdebd0; }
- 1. Impair (bleu)
- 2. Pair (rose)
- 3. Impair (bleu)
- 4. Pair (rose)
- 5. Impair (bleu)
17 Négation :not()
📖 Définition : Sélectionne TOUS les éléments SAUF ceux spécifiés.
li:not(.special) {
color: #95a5a6;
}
- Item normal (gris)
- ⭐ Item spécial (rouge)
- Item normal (gris)
18 Coché :checked
📖 Définition : Sélectionne les cases à cocher ou boutons radio cochés.
input:checked + label {
color: #2ecc71;
text-decoration: line-through;
}
19 Désactivé :disabled
📖 Définition : Sélectionne les champs désactivés.
input:disabled {
background: #ecf0f1;
cursor: not-allowed;
}
20 Obligatoire :required
📖 Définition : Sélectionne les champs obligatoires.
input:required {
border-left: 3px solid #e74c3c;
}
📕 Chapitre 5 : Pseudo-éléments
21 Avant ::before
📖 Définition : Ajoute du contenu AVANT l'élément.
p::before {
content: "👉 ";
}
👉 Premier paragraphe
👉 Deuxième paragraphe
22 Après ::after
📖 Définition : Ajoute du contenu APRÈS l'élément.
a::after {
content: " 🔗";
}
23 Première Lettre ::first-letter
📖 Définition : Style la première lettre du texte.
p::first-letter {
font-size: 3em;
color: #e74c3c;
float: left;
margin-right: 5px;
}
La première lettre de ce paragraphe est plus grande et rouge.
24 Première Ligne ::first-line
📖 Définition : Style la première ligne du texte.
p::first-line {
font-weight: bold;
color: #2c3e66;
}
Ceci est la première ligne.
Ceci est la deuxième ligne (non stylisée).
25 Sélection ::selection
📖 Définition : Style le texte sélectionné par l'utilisateur.
p::selection {
background: #f1c40f;
color: black;
}
👆 Sélectionne ce texte avec ta souris pour voir le fond jaune !
📝 Résumé - Hiérarchie des sélecteurs
| Type | Sélecteur | Exemple | Priorité |
|---|---|---|---|
| Universel | * |
* { margin:0; } |
Faible |
| Type | élément |
p { color:red; } |
Faible |
| Classe | .classe |
.important { } |
Moyenne |
| ID | #id |
#header { } |
Forte |
| Attribut | [attr] |
input[type="text"] |
Moyenne |
| Pseudo-classe | :pseudo |
a:hover { } |
Moyenne |
| Pseudo-élément | ::pseudo |
p::before { } |
Moyenne |