W3docs

CSS text-decoration-skip-ink Eigenschaft

Verwende die CSS-Eigenschaft text-decoration-skip-ink, um festzulegen, wie Unterstreichungen und Überstreichungen gezeichnet werden. Werte und Beispiele.

Die Eigenschaft text-decoration-skip-ink steuert, wie Unterstreichungen und Überstreichungen sich verhalten, wenn sie durch Buchstabenteile verlaufen, die unter die Grundlinie ragen (Unterlängen, wie die Schwänze von „g", „y", „p") oder darüber hinausragen (Oberlängen). Anstatt die Linie gerade durch diese Striche zu ziehen, kann der Browser kleine Lücken lassen, sodass die Linie die Farbe des Glyphen „überspringt" — daher der Name.

Dies ist eine Funktion zur besseren Lesbarkeit. Eine durchgehende Unterstreichung, die ein „g" oder „j" durchschneidet, kann den Text schwerer lesbar machen; das Überspringen der Farbe hält die Unterstreichung optisch sauber. Moderne Browser aktivieren dieses Verhalten standardmäßig (auto), daher wird diese Eigenschaft hauptsächlich verwendet, um es auszuschalten (none), wenn eine durchgehende, ununterbrochene Linie gewünscht wird.

Info

text-decoration-skip-ink betrifft nur die Werte underline und overline der Eigenschaft text-decoration-line. Der Wert line-through verläuft in der Mitte des Textes und kreuzt keine Unterlängen, daher ist er davon nicht betroffen.

Die Eigenschaft text-decoration-skip-ink ist Teil der umfassenderen Kurzschreibweise text-decoration und steht neben text-decoration-line, text-decoration-color und text-decoration-style.

Initial Valueauto
Applies toAlle Elemente.
InheritedJa.
AnimatableNein.
VersionCSS Text Decoration Module Level 4
DOM Syntaxobject.style.textDecorationSkipInk = "none";

Syntax

CSS text-decoration-skip-ink Werte

text-decoration-skip-ink: auto | none | initial | inherit;

Die Kurzschreibweise akzeptiert auch die globalen Schlüsselwörter initial und inherit. Da die Eigenschaft vererbt wird und standardmäßig auto ist, muss sie selten explizit gesetzt werden — außer um das Überspringen der Farbe zu deaktivieren.

Beispiel der text-decoration-skip-ink Eigenschaft

Das folgende Beispiel zeigt beide Zustände nebeneinander: Der erste Absatz erzwingt eine durchgehende Unterstreichung (none), während der zweite dem Browser erlaubt, die Farbe um Unterlängen zu überspringen (auto). Vergleiche das Verhalten der Linie unter Buchstaben wie „p".

CSS text-decoration-skip-ink Codebeispiel

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .ex1 {
        margin: 0;
        font-size: 2em;
        text-decoration: underline #1c87c9;
        text-decoration-skip-ink: none;
      }
      .ex2 {
        margin: 0;
        font-size: 2em;
        text-decoration: underline #1c87c9;
        text-decoration-skip-ink: auto;
      }
    </style>
  </head>
  <body>
    <h2>
        Text-decoration-skip-ink property example
    </h2>
    <h3>
        Text-decoration-skip-ink: none;
    </h3>
    <p class="ex1">
      Lorem ipsum is simply dummy text
    </p>
    <h3>
        Text-decoration-skip-ink:auto;
    </h3>
    <p class="ex2">
      Lorem ipsum is simply dummy text
    </p>
  </body>
</html>

Ergebnis

CSS text-decoration-skip-ink Werteliste

Werte

WertBeschreibung
autoUnterstreichungen und Überstreichungen werden nur dort gezeichnet, wo sie einen Glyphen nicht berühren oder sich ihm nicht stark annähern. Dies ist der Standardwert der Eigenschaft.
noneUnterstreichungen und Überstreichungen werden für alle Textinhalte gezeichnet, einschließlich Teile, die Unterlängen und Oberlängen eines Glyphen kreuzen.
initialSetzt die Eigenschaft auf ihren Standardwert.
inheritErbt die Eigenschaft vom übergeordneten Element.

Wann zu verwenden

  • Den Standard beibehalten (auto) für Fließtext und Links. Es erzeugt sauberere, besser lesbare Unterstreichungen, die Benutzer erwarten, mit automatisch platzierten Lücken um Unterlängen.
  • none verwenden, wenn ein Design eine durchgehende, ununterbrochene Linie erfordert — zum Beispiel eine bewusst kräftige Unterstreichung als stilistisches Akzent, oder wenn kleine Lücken bei einer bestimmten Schriftgröße wie Rendering-Fehler aussehen.

Ein gängiges Muster ist das Zurücksetzen auf einen bekannten Wert, damit das Rendering in allen Browsern einheitlich ist, die zuvor standardmäßig durch Glyphen gezeichnet haben:

a {
  text-decoration-line: underline;
  text-decoration-skip-ink: auto; /* explicitly opt in to skipping */
}

Browser-Unterstützung

text-decoration-skip-ink wird von allen modernen Browsern unterstützt (Chrome, Edge, Firefox und Safari). Da die Eigenschaft bei fehlender Unterstützung einfach auf eine normale Unterstreichung zurückfällt, ist kein Fallback erforderlich — ältere Browser zeichnen die Linie einfach gerade durch die Glyphen, was immer noch vollkommen lesbar ist.

Übungen

Übung
Was bewirkt die CSS-Eigenschaft 'text-decoration-skip-ink'?
Was bewirkt die CSS-Eigenschaft 'text-decoration-skip-ink'?
Was this page helpful?