😀
viscom-cie1
GithubGoogleDoc
  • README
  • Porfolio
  • Aide mémoire
  • 1 Démarrer
  • 2 L'essentiel
  • 3 Configuration
  • 4 Introduction HTML
  • 5 Structure de base HTML
  • 6 Bonnes pratiques
  • 7 Section Hero
  • 8 Introduction CSS
  • 9 Styles
  • 10 Layout CSS
  • 11 Absolu et relatif
  • 12 Unités de mesure
  • 13 Section Expertise
  • 14 Position et transformation
  • 15 Section expérience
  • 16 Graphiques, images et vidéos
  • 18 Pseudo classes et pseudo éléments
  • 19 Outils pour les développeurs
  • 21 Transitions & Animations
  • 22 Section Contact
  • 23 Pied de page
  • 24 Javascript
  • 25 Polices Web
  • 26 Responsive
  • 27 Publier en ligne
  • 28 Valider et tester
  • 29 Présentation & suite
  • Défis
  • index
Propulsé par GitBook
Sur cette page
  • # Pseudoclasses
  • # :hover
  • # :active
  • # :focus
  • :first-child
  • :last-child
  • :nth-child()
  • # Pseudoéléments
Modifier sur GitHub

18 Pseudo classes et pseudo éléments

# Pseudoclasses

Une pseudo-catégorie peut être spécialement conçue en CSS, par exemple, lorsque...

  • un utilisateur passe la souris sur un élément

  • un utilisateur se concentre sur un champ de saisie

La syntaxe des pseudo-classes est...

   selector:pseudo-classe {
     propriété: valeur;
   }

Parfois, vous verrez une pseudo-classe avec deux deux-points ::pseudo-classe. Un ou deux points sont reconnus par le navigateur. Ci-dessus, vous voyez la syntaxe avec un deux-points :pseudo-classe.

# :hover

L'option "survol" est appliquée lorsque l'utilisateur survole un élément.

    <a class="button" href="https://duckduckgo.com">Je suis un bouton</a>
    .button {
      padding: 0.5rem 1rem;
      color: white;
      background-color: royalblue;
      border-radius: 0.5rem;
    }
    
    .button:hover {
      background-color: orange;
    }

:hand: Tester ce code

# :active

:active est appliqué lorsque l'utilisateur maintient le bouton de la souris enfoncé sur l'élément. Cela peut être utilisé, par exemple, pour donner l'impression que quelque chose est "enfoncé" et faire apparaître un bouton de manière haptique.

      <a class="button" href="https://duckduckgo.com">Je suis un bouton</a>.
    .button {
      padding: 0.5rem 1rem;
      color: white;
      background-color: royalblue;
      border-radius: 0.5rem;
    }
    
    .button:active {
      background-color: darkblue;
      box-shadow: inset 0 -2px 4px black;
    }

# :focus

Le terme "focus" s'applique lorsqu'un élément est en focus. La plupart du temps, vous le savez grâce aux champs de saisie, où vous pouvez utiliser la "BTA" pour passer au champ de saisie suivant, et ainsi le "cibler".

    <input class="inputfield" type="text" value="focus me" />
    .inputfield:focus {
    border: 4px solid tomato;
    color: royalblue;
}

:first-child

:first-child est appliqué lorsqu'un élément est le premier enfant et permet de le styliser différemment. Dans l'exemple suivant, li est le premier enfant de ul et obtient donc son propre style.

    <ul class="list">
      <li>place 1</li>
      <li>place 2</li>
      <li>Place 3</li>
    </ul>
    li:first-child {
      color: tomato;
      font-weight: bold;
    }

:last-child

L'expression :last-child s'applique lorsqu'un élément est le dernier enfant et permet de lui donner un style différent. Dans l'exemple suivant, le troisième "li" est le dernier enfant de "ul" et a donc son propre style.

    <ul>
      <li>place 1</li>
      <li>place 2</li>
      <li>Place 3</li>
    </ul>
    li:last-child {
      color: tomato;
      font-weight: bold;
    }

:nth-child()

Le fonctionnement de :nth-child() est similaire à celui de :first-child et :last-child. La différence est qu'il permet également de ne sélectionner que le deuxième enfant, voire des règles complexes comme "styliser le premier et un enfant sur deux".

    <ul>
      <li>place 1</li>
      <li>Place 2</li>
      <li>Place 3</li>
      <li>Place 4</li>
      <li>Place 5</li>
    </ul>
    li:nth-child(2) {
      color: tomato;
      font-weight: bold;
    }
    
    li:nth-child(3) {
      color: orange;
      font-weight: bold;
    }

Pour faciliter la lecture des listes, il est parfois pratique de mettre en évidence chaque élément impair.

li:nth-child(odd) { /* odd = impaire, even = pair */
background-color: whitesmoke;
}
  • nième enfant testeur

  • documentation sur les pseudo-classes (w3schools.com)

# Pseudoéléments

Les pseudo-éléments peuvent être utilisés pour créer des éléments personnalisés avant et après un élément via le CSS. Vous verrez dans un instant pourquoi cela est utile.

Les différents pays ont des guillemets différents. En Allemagne, les guillemets "texte" sont courants, tandis qu'en Suisse, on utilise "texte".

    <blockquote class="schweiz">
      Le canton de vaud est grand
    </blockquote>
    
    <blockquote class="german">
        Wer zuerst kommt, mahlt zuerst.
    </blockquote>
.schweiz:before {
content: "«"; /* L'attribut content doit toujours être présent, sinon :before ou :after ne sera pas reconnu */
color: tomato;
}

.schweiz:after {
content: "»";
color: tomato;
}

.deutschland:before {
content: "„";
color: tomato;
}

.deutschland:after {
content: "“";
color: tomato;
}
  • Documentation sur les pseudo-éléments (w3schools.com)

Précédent16 Graphiques, images et vidéosSuivant19 Outils pour les développeurs

Dernière mise à jour il y a 2 ans

Tester ce code

Tester ce code

Tester ce code

Tester ce code

Tester ce code

Tester ce code

Liens connexes

Tester ce code

Autres Liens

⚒️
⚒️
⚒️
⚒️
⚒️
⚒️
🔗
⚒️
🔗