Exercice 1 : Sélecteurs et spécificité (20 min)

1.1 Sélecteurs

Étant donné le HTML suivant, écrivez les sélecteurs CSS demandés :

Questions :

  1. Sélectionnez tous les liens dans la navigation
  2. Sélectionnez uniquement le lien actif
  3. Sélectionnez l'article qui a la classe featured
  4. Sélectionnez le premier paragraphe de chaque article
  5. Sélectionnez les éléments <li> pairs

Solution :

1.2 Spécificité

Questions :

  1. Classez ces sélecteurs par spécificité croissante : p, .text, #main, p.text, #main .text p
  2. Si deux règles ont la même spécificité, laquelle gagne ?
  3. Pourquoi faut-il éviter !important ?

Correction :

  1. Classement par spécificité croissante :
    p (0,0,1) → .text (0,1,0) → p.text (0,1,1) → #main (1,0,0) → #main .text p (1,1,1)
  2. En cas d'égalité de spécificité :
    C'est la règle déclarée en dernier dans le CSS qui l'emporte (principe de la cascade).
  3. Pourquoi éviter !important :