Solution détaillée

Exercice 1 : Sélecteurs et spécificité

Présentation claire au format demandé : numéro de l'exercice, nom, question puis réponse.

Question 1

Sélectionnez tous les liens dans la navigation

nav.main-nav a {
  /* styles */
}
Question 2

Sélectionnez uniquement le lien actif

.main-nav a.active {
  /* styles */
}
Question 3

Sélectionnez l'article qui a la classe featured

article.featured {
  /* styles */
}
Question 4

Sélectionnez le premier paragraphe de chaque article

article p:first-of-type {
  /* styles */
}
Question 5

Sélectionnez les éléments <li> pairs

.main-nav li:nth-child(even) {
  /* styles */
}
Question 6

Classez ces sélecteurs par spécificité croissante : p, .text, #main, p.text, #main .text p

Ordre croissant :
1. p
2. .text
3. p.text
4. #main
5. #main .text p
Question 7

Si deux règles ont la même spécificité, laquelle gagne ?

C'est la dernière règle déclarée dans la feuille CSS qui gagne.
Question 8

Pourquoi faut-il éviter !important ?

Parce que !important complique la maintenance, casse la logique normale de spécificité et rend le CSS plus difficile à déboguer.