Heim >Web-Frontend >CSS-Tutorial >Warum unterstützen Eingabeelemente ::before und ::after Pseudoelemente nicht?
Das Rätsel lösen: Warum Eingabeelemente ::before und ::after Pseudoelemente fehlen
In dem Bestreben, das Standard-Styling für zu verbessern Bei HTML5-Eingabeelementen tritt häufig das Problem auf, dass ::after-Pseudoelemente den Inhalt nicht rendern können. Trotz zahlreicher Versuche und Tests in verschiedenen Browsern sind die gewünschten visuellen Verbesserungen immer noch nicht erreichbar.
Dieses eigenartige Verhalten hat Neugier geweckt: Warum lehnen Browser ::after-Pseudoelemente auf Eingabeelementen einstimmig ab? Eine gründliche Untersuchung der CSS-Spezifikation bringt ein entscheidendes Detail ans Licht. Gemäß der CSS21-Spezifikation gilt ::after nur für Elemente, die über Dokumentbauminhalte verfügen. Eingabeelemente sowie Elemente wie Bilder und Zeilenumbrüche enthalten keinen solchen Inhalt, sodass die Verwendung von ::after unwirksam ist.
Daher liegt die Antwort in der Natur der Eingabeelemente. Im Gegensatz zu Elementen wie Absätzen oder Abschnitten, die Textinhalte enthalten, erleichtern Eingabeelemente in erster Linie die Benutzerinteraktion und enthalten keinen Inhalt für Anzeigezwecke. Diese inhärente Eigenschaft verhindert die Verwendung von ::before- und ::after-Pseudoelementen auf Eingabeelementen.
Das obige ist der detaillierte Inhalt vonWarum unterstützen Eingabeelemente ::before und ::after Pseudoelemente nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!