Maison >interface Web >tutoriel CSS >Pouvez-vous appliquer plusieurs pseudo-éléments :before au même élément ?

Pouvez-vous appliquer plusieurs pseudo-éléments :before au même élément ?

DDD
DDDoriginal
2024-11-09 22:01:02843parcourir

Can You Apply Multiple :before Pseudo-Elements to the Same Element?

Plusieurs :avants pseudo-éléments peuvent-ils exister pour le même élément ?

Question :

Est-il possible d'appliquer plusieurs pseudo-éléments :before au même élément ? Par exemple :

.circle:before {
    content: "CF";
    font-size: 19px;
}
.now:before{
    content: "Now";
    font-size: 19px;
    color: black;
}

Réponse :

Non, CSS2.1 spécifie qu'un élément ne peut avoir qu'un seul pseudo-élément de n'importe quel type à un moment donné. . Cela signifie que même si un élément peut avoir à la fois un pseudo-élément :before et un :after, il ne peut pas en avoir plus d'un de chaque type.

Par conséquent, lorsque plusieurs règles :before ciblent le même élément, ils sont regroupés en un seul pseudo-élément :before. Par exemple, le code ci-dessus se réduit à :

.circle.now:before {
    content: "Now";
    font-size: 19px;
    color: black;
}

Seule la dernière déclaration de contenu, qui a la priorité la plus élevée, prend effet.

Solutions de contournement :

Si vous souhaitez appliquer plusieurs pseudo-éléments :before au même élément, vous pouvez utiliser des sélecteurs combinés pour spécifier exactement ce que le navigateur doit faire. Par exemple :

.circle.now:before {
    content: "○";
}
.circle.now:hover:before {
    background: #ccc;
}

Cela créera deux pseudo-éléments :before avec un contenu et un style différents.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn