Heim >Web-Frontend >CSS-Tutorial >Warum funktioniert das CSS :after-Pseudoelement nicht bei allen HTML-Elementen?
Warum funktioniert das CSS :after-Pseudoelement nicht bei allen HTML-Elementen?
Susan SarandonOriginal
2024-12-16 14:41:10676Durchsuche
Enthüllung der Einschränkungen der CSS :after-Eigenschaft
Das CSS :after-Pseudoelement fügt Inhalt nach dem Inhalt eines Elements im Dokument hinzu Baum. Seine Anwendbarkeit wirft jedoch Fragen auf.
Elementeinschränkungen
Die CSS-Spezifikation besagt, dass :after scheinbar auf Inhalte vor oder nach dem Bauminhalt eines Elements angewendet werden kann uneingeschränkt. In der Praxis zeigen jedoch bestimmte Elemente wie Bilder (), Eingaben () und Tabellen (
) ein unterschiedliches Verhalten.
Verstehen Ersetzte Elemente
Der Schlüssel zum Verständnis dieses Verhaltens liegt im Konzept der ersetzten Elemente. Ersetzte Elemente sind solche, deren Aussehen und Abmessungen durch eine externe Ressource definiert werden, einschließlich Bildern, Plugins und Formularelementen.
:after und ersetzte Elemente
Entscheidend In der CSS-Spezifikation heißt es ausdrücklich, dass :before und :after nur mit nicht ersetzten Elementen funktionieren. Daher ersetzte Elemente wie und darf keine :after- oder :before-Eigenschaften haben.
Überlegungen zur DOM-Struktur
Bei Verwendung von :before und :after mit nicht ersetzten Elementen sieht die DOM-Struktur wie folgt aus dies:
Inhalt von span
Für ersetzte Elemente wie Bilder dies Struktur ist nicht realisierbar, daher die Inkonsistenz im Verhalten.
Das obige ist der detaillierte Inhalt vonWarum funktioniert das CSS :after-Pseudoelement nicht bei allen HTML-Elementen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
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