Maison > interface Web > tutoriel CSS > CSS :not() cible-t-il sélectivement les éléments descendants distants ?

CSS :not() cible-t-il sélectivement les éléments descendants distants ?

Linda Hamilton
Libérer: 2024-12-06 18:58:16
original
301 Les gens l'ont consulté

Does CSS :not() Selectively Target Distant Descendant Elements?

Le sélecteur CSS :not() peut-il cibler des descendants distants ?

La pseudo-classe CSS3 :not() est destinée à exclure des éléments qui correspondent à un sélecteur spécifié. Il a une prise en charge limitée pour le ciblage des descendants distants.

Implémentation et support

Le sélecteur :not() a une implémentation partielle dans les navigateurs modernes, mais sa prise en charge pour le ciblage des descendants distants est limité. Il opère principalement sur les enfants directs d'un élément.

Comportement avec des descendants distants

Dans votre exemple, le sélecteur :not(p) n'affecte pas le , même s'il est un descendant du

. En effet, :not() annule uniquement le sélecteur d'enfant immédiat. Le
L'élément correspond aux critères :not(p) et sa couleur est définie sur rouge. Par la suite, le

Comportement attendu par rapport au comportement réel

Vous vous attendiez à ce que l'élément

L'élément ne doit pas être affecté par le sélecteur :not(), mais il a hérité du changement de couleur. Ce n'est pas le comportement prévu pour cibler les descendants éloignés.

Solution

Pour styliser spécifiquement uniquement

éléments au sein d'un

, vous devez utiliser un sélecteur plus direct :

div p {
    color: black;
}
Copier après la connexion

Améliorations des sélecteurs CSS niveau 4

Les sélecteurs CSS niveau 4 proposent d'étendre : not() pour accepter des sélecteurs complexes avec des combinateurs. Cela vous permettrait de cibler les descendants éloignés avec une plus grande flexibilité. Une fois implémenté, vous pouvez écrire des sélecteurs comme :

p:not(div p) {
    color: red;
}
Copier après la connexion

Ce sélecteur ciblerait tous les

éléments qui ne sont pas des descendants directs d'un

.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal