0Pricing
Frontend Academy · Leçon

Sélecteurs et cascade

Sélectionnez des éléments avec des sélecteurs de type, de classe, d’ID et d’attribut. Comprenez la spécificité, l’héritage et la cascade pour prévoir quels styles l’emportent.

Sélecteurs et cascade est une leçon Frontend Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Frontend Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Frontend Academy comprend 4 leçons au total.

Qu’est-ce que CSS ?

CSS (feuilles de style en cascade) est le langage qui contrôle la présentation visuelle. Vous écrivez des règles — chaque règle possède un sélecteur qui cible des éléments et un bloc de déclaration contenant des paires propriété-valeur.

selector {
  property: value;
  another-property: value;
}

Sélecteurs de type, de classe et d’ID

Les trois sélecteurs fondamentaux : le type cible tous les éléments d’une balise (p), la classe cible les éléments dotés d’une classe (.card), et l’ID cible un élément par son identifiant (#logo). Préférez les classes : les ID ont une spécificité très élevée.

p { color: #333; }        /* type */
.card { padding: 16px; }   /* class */
#logo { width: 200px; }    /* ID */

Sélecteurs d’attribut et de pseudo-classe

Sélectionnez un élément selon la valeur de son attribut avec [type="email"]. Utilisez les pseudo-classes pour représenter un état : :hover, :focus, :active, :checked, :nth-child(), :first-child, :last-child.

input[type="email"] { border-color: blue; }
a:hover { text-decoration: underline; }
li:nth-child(odd) { background: #f5f5f5; }

Combinateurs

Les combinateurs décrivent les relations entre les éléments : espace (descendant), > (enfant direct), + (frère adjacent), ~ (frère général).

nav a { color: white; }        /* descendant */
nav > ul { list-style: none; }  /* child */
h2 + p { margin-top: 0; }       /* adjacent sibling */

Spécificité : qui l’emporte ?

Lorsque plusieurs règles ciblent le même élément, la spécificité détermine laquelle l’emporte. Les sélecteurs d’ID (0,1,0,0) l’emportent sur les sélecteurs de classe (0,0,1,0), eux-mêmes prioritaires sur les sélecteurs de type (0,0,0,1). Les styles en ligne l’emportent sur tous les autres. !important l’emporte sur tout — utilisez-le uniquement en dernier recours.

Calculer la spécificité

Comptez séparément les ID, les classes/attributs/pseudo-classes et les types. Comparez les colonnes une par une. Exemple : #nav .link:hover = (0,1,1,1). .nav a = (0,0,1,1). Le premier l’emporte.

/* Specificity: 0,0,1,1 — loses */
.nav a { color: red; }

/* Specificity: 0,1,1,1 — wins */
#nav .link:hover { color: blue; }

La cascade : l’ordre compte

Lorsque la spécificité est identique, la règle qui apparaît plus tard dans la feuille de style l’emporte. C’est le C de CSS — la cascade. L’ordre des importations et l’ordre d’apparition dans le code source comptent tous les deux.

Héritage

Certaines propriétés CSS sont héritées par défaut : les enfants reçoivent la valeur du parent sans que vous ayez besoin de la définir. Les propriétés liées au texte, comme color, font-family et line-height, sont héritées. Les propriétés du modèle de boîte, comme margin, ne le sont pas.

body {
  font-family: 'Inter', sans-serif; /* all text inherits this */
  color: #1a202c;                   /* all text inherits this */
}

Les sélecteurs :is() et :where()

:is() et :where() vous permettent d’écrire des sélecteurs concis qui correspondent à n’importe quel élément d’une liste. La différence : :is() hérite de la spécificité la plus élevée de ses arguments ; :where() a toujours une spécificité nulle.

/* Instead of h1 a, h2 a, h3 a: */
:is(h1, h2, h3) a {
  color: inherit;
}

Le sélecteur universel *

Le sélecteur universel * correspond à chaque élément. Il est couramment utilisé dans les réinitialisations CSS : *, *::before, *::after { box-sizing: border-box; }, ce qui rend le modèle de boîte bien plus prévisible.

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

Styles par défaut du navigateur

Les navigateurs appliquent leur propre feuille de style par défaut (la feuille de style de l’agent utilisateur) avant la vôtre. Les réinitialisations CSS, comme normalize.css, ou les couches CSS neutralisent ces valeurs par défaut afin que votre mise en forme parte d’une base connue.

Vérification rapide

Quel sélecteur possède la spécificité la plus élevée ?

Récapitulatif : sélecteurs et cascade

Ciblez les éléments avec des sélecteurs de type, de classe, d’ID, d’attribut et de pseudo-classe. La spécificité résout les conflits (ID > classes > types). La cascade départage les égalités à l’aide de l’ordre dans le code source. L’héritage propage automatiquement les styles de texte aux descendants.

Questions Fréquemment Posées

La leçon « Sélecteurs et cascade » est-elle gratuite ?

Oui — le texte complet de « Sélecteurs et cascade » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Frontend Academy, passe à CoddyKit PRO. Le cours Frontend Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Sélecteurs et cascade » ?

Sélectionnez des éléments avec des sélecteurs de type, de classe, d’ID et d’attribut. Comprenez la spécificité, l’héritage et la cascade pour prévoir quels styles l’emportent. Tu pratiques Frontend Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Frontend Academy ?

Aucune expérience préalable n'est requise. Frontend Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Sélecteurs et cascade » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Frontend Academy ?

Oui. Chaque leçon Frontend Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Sélecteurs et cascade
  2. Couleurs, typographie et modèle de boîte
  3. Bases de display : block, inline, flex, grid
  4. Positionnement : relative, absolute, fixed, sticky
← Retour à Frontend Academy