ホームページ  >  記事  >  ウェブフロントエンド  >  テキストを含む入力フィールドでは :not(:empty) が機能しないのはなぜですか?

テキストを含む入力フィールドでは :not(:empty) が機能しないのはなぜですか?

DDD
DDDオリジナル
2024-11-04 15:00:33328ブラウズ

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

:not(:empty) CSS セレクターが機能しない

:not(:empty) セレクターがテキスト コンテンツを含む入力フィールドをターゲットにできない。この問題は、複数のセレクター、特に :not(:empty):not(:focus):invalid を組み合わせるときに発生します。 :not(:empty) を削除すると問題は解決しますが、:not() 内で使用すると矛盾するようです。

明確にするために、:empty セレクターは子ノードのない要素を示します。入力要素のコンテキストでは、これにはテキストコンテンツのないものも含まれます。ただし、HTML 定義では、入力要素は void として分類されます。これは、入力要素が本質的に空であることを意味します。

セレクターの仕様に記載されているように、「:empty 擬似クラスは、子をまったく持たない要素を表します。」これには、値に関係なく入力要素が含まれるため、input:not(:empty) は有効な HTML 内で事実上何も選択しません。

CSS だけでは空の入力フィールドを動的にスタイル設定できませんが、[value] を使用して最初から空のフィールドをターゲットにすることができます。 =""] または :not([value]) を使用して、適切な初期状態を設計します。

以上がテキストを含む入力フィールドでは :not(:empty) が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。