Maison >interface Web >tutoriel CSS >Pourquoi :not(:empty) ne fonctionne-t-il pas pour les champs de saisie avec du texte ?

Pourquoi :not(:empty) ne fonctionne-t-il pas pour les champs de saisie avec du texte ?

DDD
DDDoriginal
2024-11-04 15:00:33334parcourir

Why Doesn't :not(:empty) Work for Input Fields with Text?

:not(:empty) Le sélecteur CSS ne fonctionne pas

Le sélecteur :not(:empty) ne parvient pas à cibler les champs de saisie avec du contenu textuel . Ce problème survient lors de la combinaison de plusieurs sélecteurs, en particulier :not(:empty):not(:focus):invalid. La suppression de :not(:empty) résout le problème, mais son utilisation dans :not() semble incohérente.

Pour clarifier, le sélecteur :empty indique les éléments sans nœuds enfants. Dans le contexte des éléments d'entrée, cela inclut ceux sans contenu textuel. Cependant, la définition HTML classe les éléments d'entrée comme vides, ce qui signifie qu'ils sont intrinsèquement vides.

Comme indiqué dans la spécification Selectors, ":empty pseudo-class représente un élément qui n'a aucun enfant." Cela inclut les éléments d'entrée quelle que soit leur valeur, donc input:not(:empty) ne sélectionne jamais rien dans du HTML valide.

Bien que CSS seul ne puisse pas styliser dynamiquement les champs de saisie vides, vous pouvez cibler les champs initialement vides en utilisant [value =""] ou :not([value]) pour concevoir les états initiaux appropriés.

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