Heim > Web-Frontend > CSS-Tutorial > Warum wird die Textdekoration in CSS nicht korrekt geerbt?

Warum wird die Textdekoration in CSS nicht korrekt geerbt?

Barbara Streisand
Freigeben: 2024-12-07 07:21:19
Original
757 Leute haben es durchsucht

Why Doesn't Text Decoration Inherit Correctly in CSS?

Problem beim Überschreiben der CSS-Textdekoration

In der CSS-Eigenschaftshierarchie haben bestimmte Eigenschaften Vorrang vor geerbten Eigenschaften von übergeordneten Elementen. Die Eigenschaft text-decoration weist jedoch eine Ausnahme von dieser Regel auf.

Problem:

Bedenken Sie den folgenden Code:

<a href="#">
  A <span>red</span> anchor
</a>
Nach dem Login kopieren
a {
  color: blue;
  font-family: Times New Roman;
  text-decoration: underline;
}

span {
  color: red;
  font-family: Arial;
  text-decoration: none;
}
Nach dem Login kopieren

Wie in dieser [Demo](http://jsfiddle.net/5t9sV/) gezeigt, Die text-decoration-Eigenschaft des untergeordneten Elements span überschreibt nicht die Unterstreichungsdekoration des übergeordneten a-Elements.

Grund:

Gemäß der CSS-Spezifikation ist die text-decoration Eigenschaft von Nachkommenelementen „kann keinen Einfluss auf die Dekoration des Vorfahren haben.“ Dies bedeutet im Wesentlichen, dass Textdekorationen auf das gesamte Element angewendet werden, unabhängig von vorhandenen untergeordneten Elementen.

Lösung:

In CSS3 gibt es eine Eigenschaft namens text-decoration-skip, das auf das untergeordnete Element angewendet werden kann, um die geerbte Textdekoration zu überspringen. Es funktioniert jedoch nur für Inline-Elemente (z. B. span) und die unterstützten Browser können variieren.

Zum Beispiel, um den Text innerhalb des span-Elements anzuzeigen ohne Unterstreichung können Sie Folgendes hinzufügen:

span {
  text-decoration-skip: ink;
}
Nach dem Login kopieren

Beachten Sie, dass Tinte eine der möglichen Optionen ist Werte für text-decoration-skip, einschließlich Zeichen, Leerzeichen und eingebetteter Objekte.

Das obige ist der detaillierte Inhalt vonWarum wird die Textdekoration in CSS nicht korrekt geerbt?. 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