Heim >Web-Frontend >CSS-Tutorial >Warum funktioniert „input:not(:empty)' nicht wie erwartet?

Warum funktioniert „input:not(:empty)' nicht wie erwartet?

DDD
DDDOriginal
2024-11-05 11:02:02565Durchsuche

Why Does `input:not(:empty)` Not Work as Expected?

Enthüllung der Geheimnisse des :not(:empty) CSS-Selektors

Beim Versuch, das Erscheinungsbild leerer oder nicht leerer Eingaben zu steuern Beim Erstellen von Feldern mit dem CSS-Selektor :not(:empty) stoßen viele Entwickler auf unerwartetes Verhalten. Dieser Selektor scheint mit anderen Kombinationen einwandfrei zu funktionieren, führt jedoch zu Anomalien, sobald :not(:empty) zur Mischung hinzugefügt wird.

Die Verwirrung rührt von der Einzigartigkeit der Eingabeelemente her. HTML definiert ungültige Elemente als solche, die „von Natur aus leer sind“, einschließlich der Etikett. Infolgedessen werden alle void-Elemente, unabhängig von ihrem Wertattribut, von der :empty-Pseudoklasse konsistent als leer betrachtet.

Darüber hinaus gibt die Selectors-Spezifikation ausdrücklich an, dass :empty auf Elemente ohne untergeordnete Knoten abzielt, einschließlich Textinhalt. Folglich fehlen Eingabefeldern, obwohl sie einen Wert haben, immer untergeordnete Knoten und sie stimmen daher mit dem :not(:empty)-Selektor überein.

Zusammenfassend lässt sich sagen, dass die Verwendung von input:not(:empty) in einem richtigen HTML erfolgt Das Dokument wird immer mit nichts übereinstimmen. Diese Einschränkung ergibt sich aus der inhärenten Natur von void-Elementen in HTML und der Definition der :empty-Pseudoklasse in CSS-Selektoren.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „input:not(:empty)' nicht wie erwartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn