Maison  >  Article  >  interface Web  >  Pourquoi `input:not(:empty)` ne renvoie-t-il toujours aucun résultat ?

Pourquoi `input:not(:empty)` ne renvoie-t-il toujours aucun résultat ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 07:27:02452parcourir

Why Does `input:not(:empty)` Always Return No Results?

Comprendre le sélecteur CSS :not(:empty)

Le sélecteur CSS :empty est conçu pour faire correspondre les éléments qui ne contiennent aucun élément enfant. Cependant, lorsqu'il est utilisé en combinaison avec le sélecteur :not(), il peut entraîner un comportement inattendu.

Le cas des éléments d'entrée

Le code HTML L'élément est considéré comme un « élément vide », ce qui signifie qu'il n'a pas d'enfants. Par conséquent, il satisfera toujours le sélecteur :empty, qu'il contienne ou non une valeur de texte.

Lorsque vous utilisez input:not(:empty), vous demandez essentiellement des éléments à la fois vides et pas vide. Il s'agit d'une contradiction, c'est pourquoi le sélecteur ne renvoie jamais aucun résultat.

Implications pour le style CSS

Ce comportement a des implications pour le style CSS. Vous ne pouvez pas utiliser input:not(:empty) pour styliser dynamiquement les champs de saisie selon qu'ils sont vides ou non.

Solutions alternatives

Pour styliser une entrée initialement vide champs, vous pouvez utiliser des sélecteurs comme input[value=""] ou input:not([value]). Cependant, une fois qu'un utilisateur saisit du texte dans le champ, il ne correspondra plus à ces sélecteurs.

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