Umgang mit CSS-Textdekorations-Macken
In CSS spielt die Eigenschaft text-decoration eine entscheidende Rolle bei der Gestaltung von Textelementen. Das Anwenden von Textdekoration verhält sich jedoch möglicherweise nicht immer wie erwartet. Dieser Artikel befasst sich mit der Komplexität der CSS-Textdekoration und bietet eine Lösung für ein häufiges Problem.
Das Problem
Ein Entwickler stieß auf eine rätselhafte Situation, in der Inline-CSS-Regeln für text-decoration schien keine Auswirkung auf verschachtelte Elemente zu haben. Sie hatten den folgenden Code geschrieben:
ul > li { text-decoration: none; } ul > li.u { text-decoration: underline; } ul > li > ul > li { text-decoration: none; } ul > li > ul > li.u { text-decoration: underline; }
Dieses CSS sollte nur die li-Elemente mit der Klasse „u“ unterstreichen und alle anderen li-Elemente ohne Dekoration belassen. In der Praxis wurden jedoch alle Li-Elemente unterstrichen.
Die Lösung
Das Problem liegt im einzigartigen Verhalten der Textdekoration. Im Gegensatz zu anderen Textstileigenschaften wie „font-weight“ wirkt sich die Textdekoration nicht nur auf das Element aus, auf das sie angewendet wird, sondern auch auf dessen untergeordnete Elemente.
Gemäß der CSS 2.1-Spezifikation wird die Textdekoration unabhängig davon über das gesamte Element gezeichnet aller Nachkommenelemente. Das bedeutet, dass das Festlegen von text-decoration für ein übergeordnetes Element die Dekoration an seine untergeordneten Elemente weitergibt, auch wenn diese ihre eigenen Textdekorationsregeln haben.
Im bereitgestellten Beispiel lautet text-decoration: none; Die Regel für den zweiten und dritten Selektor war nicht wirksam, da die Dekoration bereits vom ersten Selektor weitergegeben wurde.
Fazit
Es ist wichtig, diese Eigenart der CSS-Textdekoration zu verstehen um unerwartete Ergebnisse zu verhindern. Indem Entwickler die Textdekoration nur auf die äußersten Elemente anwenden und sich bei verschachtelten Elementen auf die Vererbung verlassen, können sie sicherstellen, dass sich ihre CSS-Textdekorationsregeln wie beabsichtigt verhalten.
Das obige ist der detaillierte Inhalt vonWarum funktioniert meine CSS-Textdekoration bei verschachtelten Elementen nicht wie erwartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!