Heim > Web-Frontend > CSS-Tutorial > Warum fügt CSS „:after' keinen Inhalt zu ersetzten Elementen wie Bildern und Eingaben hinzu?

Warum fügt CSS „:after' keinen Inhalt zu ersetzten Elementen wie Bildern und Eingaben hinzu?

Barbara Streisand
Freigeben: 2024-12-16 05:04:09
Original
920 Leute haben es durchsucht

Why Doesn't CSS `:after` Add Content to Replaced Elements Like Images and Inputs?

CSS :after Bestimmten Elementen wird kein Inhalt hinzugefügt

Die CSS :after-Eigenschaft wird verwendet, um Inhalte nach einem Element im Dokumentbaum einzufügen . Es scheint jedoch nur mit bestimmten Elementen wie Absätzen (

) und Tabellen (

) zu funktionieren, nicht jedoch mit ersetzten Elementen wie Bildern () und Formulareingaben (). ).

Was bestimmt die Akzeptanz von :after und :before Eigenschaften?

Das Verhalten von :after und :before wird durch die Tatsache bestimmt, dass ersetzte Elemente unterschiedlich funktionieren. Ersetzte Elemente sind solche, deren Aussehen und Abmessungen durch eine externe Ressource definiert werden, wie zum Beispiel Bilder, Plugins und Formularelemente.

Gemäß der CSS-Spezifikation funktionieren :before und :after nur mit nicht ersetzten Elementen. Dies bedeutet, dass sie nicht zum Hinzufügen von Inhalten vor oder nach ersetzten Elementen verwendet werden können.

Beispiel mit Span

Beachten Sie den folgenden HTML-Code:

<span>Content of span</span>
Nach dem Login kopieren

Mit dem folgenden CSS:

span:before {
  content: "Before";
}

span:after {
  content: "After";
}
Nach dem Login kopieren

Das DOM für dieses Szenario sieht so aus Dies:

<span>
  <before>Before</before>
  Content of span
  <after>After</after>
</span>
Nach dem Login kopieren

Diese Struktur zeigt, wie :before und :after Inhalte vor und nach einem nicht ersetzten Element einfügen können.

Ausnahme mit Bild

Die Verwendung von :after mit einem Bild führt jedoch nicht zum gleichen Ergebnis Ergebnis:

<img src="image.png" />
Nach dem Login kopieren
img:after {
  content: "After";
}
Nach dem Login kopieren

Dies liegt daran, dass :after das Erscheinungsbild eines ersetzten Elements nicht ändern kann.

Das obige ist der detaillierte Inhalt vonWarum fügt CSS „:after' keinen Inhalt zu ersetzten Elementen wie Bildern und Eingaben hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage