W3docs

Proprietà CSS text-decoration-skip-ink

Usa la proprietà CSS text-decoration-skip-ink per specificare come devono essere disegnate sottolineature e sopralineature. Valori ed esempi.

La proprietà text-decoration-skip-ink controlla il comportamento di sottolineature e sopralineature quando attraversano le parti di una lettera che scendono sotto la linea di base (discendenti, come le code di "g", "y", "p") o che si alzano al di sopra (ascendenti). Invece di tracciare una linea che taglia direttamente quei tratti, il browser può lasciare piccoli spazi affinché la linea "salti" l'inchiostro del glifo — da qui il nome della proprietà.

Si tratta di una funzionalità pensata per migliorare la leggibilità. Una sottolineatura continua che taglia una "g" o una "j" può rendere il testo più difficile da leggere; saltando l'inchiostro, la sottolineatura rimane visivamente pulita. I browser moderni abilitano questo comportamento per impostazione predefinita (auto), quindi questa proprietà viene usata principalmente per disattivarlo (none) quando si desidera una linea continua e ininterrotta.

Informazione

text-decoration-skip-ink influisce solo sui valori underline e overline della proprietà text-decoration-line. Il valore line-through si posiziona al centro del testo anziché attraversare i discendenti, quindi non viene influenzato.

La proprietà text-decoration-skip-ink fa parte della famiglia abbreviata più ampia di text-decoration, insieme a text-decoration-line, text-decoration-color e text-decoration-style.

Initial Valueauto
Applies toAll elements.
InheritedYes.
AnimatableNo.
VersionCSS Text Decoration Module Level 4
DOM Syntaxobject.style.textDecorationSkipInk = "none";

Sintassi

Valori CSS text-decoration-skip-ink

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

La forma abbreviata accetta anche le parole chiave globali initial e inherit. Poiché la proprietà è ereditata e il valore predefinito è auto, raramente è necessario impostarla esplicitamente, se non per disabilitare il salto dell'inchiostro.

Esempio della proprietà text-decoration-skip-ink

L'esempio seguente mette a confronto i due stati: il primo paragrafo impone una sottolineatura continua (none), mentre il secondo lascia che il browser salti l'inchiostro attorno ai discendenti (auto). Osserva come si comporta la linea sotto lettere come la "p".

Esempio di codice CSS text-decoration-skip-ink

<!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>

Risultato

Lista dei valori CSS text-decoration-skip-ink

Valori

ValoreDescrizione
autoLe sottolineature e le sopralineature vengono tracciate solo dove non toccano o si avvicinano troppo a un glifo. Questo è il valore predefinito della proprietà.
noneLe sottolineature e le sopralineature vengono tracciate per tutto il contenuto testuale, incluse le parti che attraversano discendenti e ascendenti dei glifi.
initialImposta la proprietà al suo valore predefinito.
inheritEredita la proprietà dall'elemento genitore.

Quando utilizzarla

  • Mantieni il valore predefinito (auto) per il corpo del testo e i link. Produce sottolineature più pulite e leggibili, con spazi posizionati automaticamente attorno ai discendenti.
  • Usa none quando il design richiede una linea continua e ininterrotta — ad esempio, una sottolineatura volutamente spessa usata come accento stilistico, oppure quando i piccoli spazi sembrano artefatti grafici a una determinata dimensione del carattere.

Un pattern comune consiste nel reimpostare la proprietà a un valore noto, così il rendering risulta uniforme tra i browser che in precedenza tracciavano la linea attraverso i glifi per impostazione predefinita:

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

Supporto dei browser

text-decoration-skip-ink è supportata da tutti i browser moderni (Chrome, Edge, Firefox e Safari). Poiché la proprietà si degrada semplicemente a una normale sottolineatura quando non è supportata, non è necessario alcun fallback — i browser più vecchi tracciano la linea direttamente attraverso i glifi, il che rimane comunque perfettamente leggibile.

Esercitati

Pratica
Cosa fa la proprietà CSS 'text-decoration-skip-ink'?
Cosa fa la proprietà CSS 'text-decoration-skip-ink'?
Was this page helpful?