HTML und CSS · Senior · Frage 9 von 75
Warum funktionieren ::before und ::after nicht an <img> und <input>?
- 1Diese Elemente sind standardmäßig
display: inline, und Pseudoelemente brauchen einen Block - 2Das ist ein bekannter Chromium-Fehler; in Firefox funktionieren die Pseudoelemente daran
- 3Es sind ersetzte oder leere Elemente - es gibt keinen Inhalt, in den man einfügen könnte
Antwort zeigen
Richtige Antwort: Es sind ersetzte oder leere Elemente - es gibt keinen Inhalt, in den man einfügen könnte
Erklärung
::before/::after werden innerhalb des Elements eingefügt, vor und nach seinem Inhalt. Der Inhalt von <img>, <video>, <iframe> wird durch eine externe Ressource ersetzt, und <input> und <br> sind leere Elemente. Abhilfe: das Element in einen Container packen und das Pseudoelement an ihn hängen. display spielt keine Rolle: An einem inline-<span> funktionieren Pseudoelemente.