Page d'accueil » Codage » Le guide définitif des pseudo-classes CSS

    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 :flotter, ce qui nous permet de styler un élément quand il est en état de vol stationnaire, c'est-à-dire quand un dispositif de pointeur, tel qu'une souris, est pointé dessus.

    Suivant le concept de nos précédents articles sur margin: auto et CSS Floats, nous examinons de plus près les pseudo-classes dans cet article. Nous verrons ce que sont vraiment les pseudo-classes, comment ils fonctionnent, comment on peut les catégoriser et en quoi ils sont différents 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 spécial de l'élément HTML appartenant. Nous pouvons ajouter une pseudo-classe à un sélecteur CSS en utilisant le syntaxe du colon : comme ça: a: survol …

    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 de menu supérieur ou les titres des widgets de la barre latérale. En d'autres termes, nous pouvons utiliser des classes CSS pour grouper ou classer des éléments HTML qui sont similaires d'une manière ou d'une autre.

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

    Mais alors que les classes authentiques sont défini par l'utilisateur et peut être repéré dans le code source, par exemple

    , les pseudo-classes sont ajouté par UA (user agents), comme les navigateurs Web, basé sur l'état actuel de l'élément HTML appartenant.

    But des pseudo-classes

    le travail des cours réguliers de CSS est de classer 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, puis appliquer un style similaire aux éléments. Ces classifications sont basées sur les caractéristiques des éléments qui sont donné par les développeurs eux-mêmes.

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

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

     
    […]

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

    • un élément qui est le dernier enfant dans son élément parent
    • un lien qui est a visité
    • un élément qui est parti plein écran.

    Ce sont le genre de caractéristiques 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 utilisions la classe .dernier identifier les derniers éléments dans différents conteneurs parents.

     
    • objet 1
    • point 2
    • point 3
    • point 4

    Nous pouvons styler ces derniers éléments enfants avec les CSS suivants:

     li.last text-transform: majuscule;  option.last font-style: italic;  

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

    Ce tracas de la mise à jour des classes peut être laissée à l'agent utilisateur, au moins pour les caractéristiques communes aux éléments (et être un dernier élément est aussi courant que possible). Ayant un prédéfini :dernier enfant pseudo-classe est très utile en effet. De cette façon, nous ne pas avoir à indiquer le dernier élément dans le code HTML, mais nous pouvons quand même les styler avec le CSS suivant:

     li: last-child text-transform: majuscule;  option: last-child font-style: italic; 

    Principaux types de pseudo-classes

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

    1. Pseudo-classes dynamiques

    Des pseudo-classes dynamiques sont ajoutées et supprimées des éléments HTML dynamiquement, en fonction de l'état dans lequel ils se transforment en réponse aux interactions de l'utilisateur. Certains exemples de pseudo-classes dynamiques sont :flotter, :concentrer, :lien, et :a visité, qui peuvent tous être ajoutés à la balise d'ancrage.

     a: visité couleur: # 8D20AE;  .button: survol, .button: focus font-weight: bold;  

    2. Pseudo-classes basées sur l'état

    Des pseudo-classes basées sur des états sont ajoutées aux éléments quand elles sont dans un état statique particulier. Certains de ses exemples les plus connus sont:

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