hideout-lastation.com
Paradis Pour Les Concepteurs Et Les Développeurs


Le guide définitif des pseudo-classes CSS

Que vous soyez novice ou développeur CSS expérimenté, vous avez probablement entendu parler de pseudo-classes . La pseudo-classe la plus connue est probablement :hover, ce qui nous permet de styliser un élément quand il est dans l'état stationnaire, c'est-à-dire lorsqu'un pointeur, tel qu'une souris, est pointé dessus.

Suivant le concept de nos précédents articles sur la marge: auto et CSS Floats, nous examinons de plus près les pseudo-classes dans ce post. Nous verrons ce que sont vraiment les pseudo-classes, comment elles fonctionnent, comment nous pouvons les catégoriser et comment elles sont différentes des pseudo-éléments .

Que sont les pseudo-classes?

Une pseudo-classe est un mot-clé que nous pouvons ajouter aux sélecteurs CSS afin de définir un état particulier de l'élément HTML d'appartenance. Nous pouvons ajouter une pseudo-classe à un sélecteur CSS en utilisant la syntaxe deux - points : comme ceci: a:hover{ ... }

Une classe CSS est un attribut que nous pouvons ajouter aux éléments HTML pour lesquels nous souhaitons appliquer les mêmes règles de style, tels que les éléments du menu principal ou les titres des widgets de la barre latérale. En d'autres termes, nous pouvons utiliser des classes CSS pour regrouper ou classer des éléments HTML similaires dans un sens ou dans l'autre.

Les pseudo-classes leur sont similaires dans le sens où elles sont également utilisées pour ajouter des règles de style aux éléments qui partagent la même caractéristique .

Mais alors que les véritables classes sont définies par l'utilisateur et peuvent être repérées dans le code source, par exemple

, les pseudo-classes sont ajoutées par UA (agents utilisateurs), comme les navigateurs web, en fonction de l'état actuel de l'élément HTML d'appartenance.

But des pseudo-classes

Le travail des classes CSS normales consiste à classifier ou à regrouper des éléments . Les développeurs savent comment leurs éléments doivent être regroupés: ils peuvent former des classes telles que «éléments de menu», «boutons», «vignettes», etc. pour regrouper et, plus tard, styliser des éléments similaires. Ces classifications sont basées sur les caractéristiques des éléments qui sont données par les développeurs eux-mêmes .

Par exemple, si un développeur décide d'utiliser un

comme un objet miniature, elle ou il peut classer cela
avec une classe "miniature".

[...]

Les éléments HTML ont cependant leurs propres caractéristiques communes en fonction de leur état, de leur position, de leur nature et de leur interaction avec la page et l'utilisateur. Ce sont les caractéristiques qui ne sont généralement pas marquées dans le code HTML, mais on peut les cibler avec des pseudo-classes en CSS, par exemple:

  • un élément qui est le dernier enfant à l'intérieur de son élément parent
  • un lien qui est visité
  • un élément qui est passé en plein écran .

Ce sont les caractéristiques qui sont généralement ciblées par les pseudo-classes. Pour mieux comprendre la différence entre les classes et les pseudo-classes, supposons que nous .last la classe .last pour identifier les derniers éléments dans des conteneurs parents différents.

  • objet 1
  • item 2
  • item 3
  • item 4

Nous pouvons styliser ces derniers éléments enfants avec le CSS suivant:

 li.last {text-transform: majuscule; } option.last {police-style: italique; } 

Mais que se passe-t-il lorsque le dernier élément change? Eh bien, nous devrons déplacer la classe .last de l'ancien dernier élément à l'actuel.

Cette tâche de mise à jour des classes peut être laissée à l'agent utilisateur, au moins pour les caractéristiques qui sont communes parmi les éléments (et être un dernier élément est aussi commun que possible). Avoir une pseudo-classe prédéfinie :last-child est vraiment très utile. De cette façon, nous n'avons pas besoin d'indiquer le dernier élément dans le code HTML, mais nous pouvons toujours les styler avec le CSS suivant:

 li: last-child {text-transform: majuscule; } option: last-child {police-style: italique; } 

Principaux types de pseudo-classes

Il existe plusieurs types de pseudo-classes, toutes nous permettant de cibler des éléments en fonction de leurs caractéristiques inaccessibles ou plus difficiles d'accès. Voici une liste de pseudo-classes standard dans MDN.

1. Pseudo-classes dynamiques

Les pseudo-classes dynamiques sont ajoutées et supprimées dynamiquement des éléments HTML, en fonction de l'état dans lequel elles se transforment en réponse aux interactions de l'utilisateur . Voici quelques exemples de pseudo-classes dynamiques :hover :focus :link et :visited, qui peuvent tous être ajoutés à la balise d'ancrage.

 a: visited {color: # 8D20AE; } .button: hover, .button: focus {font-weight: gras; } 

2. Les pseudo-classes basées sur l'état

Les pseudo-classes basées sur l'état sont ajoutées aux éléments lorsqu'ils sont dans un état statique particulier . Certains de ses exemples les plus connus sont:

  • :checked qui peut être appliqué pour les cases à cocher ( )
  • :fullscreen pour cibler tout élément actuellement affiché en mode plein écran
  • :disabled pour les éléments HTML qui peuvent être en mode désactivé, tels que ,