W3docs

Proprietà CSS word-break

Usa la proprietà CSS word-break per specificare dove interrompere le righe. Scopri la proprietà e prova gli esempi.

La proprietà CSS word-break controlla come le parole vengono spezzate quando il testo raggiunge il bordo del suo contenitore. Determina se il browser è autorizzato a dividere una parola tra i caratteri per evitare che contenuti lunghi e non suddivisibili vadano in overflow.

Per impostazione predefinita, le interruzioni di riga avvengono solo in corrispondenza delle "opportunità di a capo morbido" — spazi, trattini e punti di interruzione simili. Una singola stringa lunga senza spazi (una URL, un hash, un identificatore lungo) non verrà interrotta e fuoriuscirà dal suo riquadro. Impostare word-break: break-all indica al browser che può interrompere la riga in qualsiasi carattere, così il testo va a capo invece di fuoriuscire.

Questo è particolarmente utile per:

  • URL lunghe, percorsi di file o indirizzi email all'interno di colonne strette.
  • Contenuti generati dagli utenti in cui non è possibile prevedere la lunghezza delle parole.
  • Testo misto CJK (cinese / giapponese / coreano) e latino, dove il comportamento di interruzione differisce tra i sistemi di scrittura.

word-break è strettamente correlata a overflow-wrap (precedentemente word-wrap) e a white-space. La differenza fondamentale: overflow-wrap: anywhere interrompe una parola solo quando andrebbe altrimenti in overflow, mentre word-break: break-all interrompe in modo aggressivo a ogni riga, anche quando era disponibile un normale punto di interruzione. Preferire overflow-wrap nei casi ordinari "impedisci a questa URL di andare in overflow" e usare word-break quando si vuole specificamente un'interruzione a livello di carattere.

Questa proprietà fa parte delle proprietà CSS3.

Valore inizialenormal
Si applica aTutti gli elementi.
EreditataSì.
AnimabileNo.
VersioneCSS3
Sintassi DOMobject.style.wordBreak = "break-all";

Sintassi

Valori CSS word-break

word-break: normal | break-all | keep-all | break-word | initial | inherit;

Esempio della proprietà word-break:

Esempio di codice CSS word-break

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      html,
      body {
        height: 100%;
      }
      body {
        font-family: Helvetica, sans-serif;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #8ebf42;
      }
      p {
        word-break: break-all;
        line-height: 1;
        text-transform: uppercase;
        text-align: center;
        font-size: 30px;
        font-weight: bold;
        color: #eee;
        width: 1em;
      }
    </style>
  </head>
  <body>
    <p>element</p>
  </body>
</html>

Risultato

Proprietà CSS word-break

Nell'esempio precedente, il <p> è largo solo 1em, quindi ogni lettera va a capo sulla propria riga — una chiara dimostrazione di break-all che ignora i normali punti di interruzione.

Esempio della proprietà word-break con il valore "break-all":

Esempio di codice CSS word-break break-all

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      body {
        font-size: 0.95em;
        line-height: 1.5;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
      }
      .container {
        margin: 50px auto;
        max-width: 700px;
      }
      .text {
        padding: 20px;
        background-color: #666;
        color: white;
        text-align: justify;
      }
      .break {
        word-break: break-all;
      }
      strong {
        background-color: #000;
      }
    </style>
  </head>
  <body>
    <h2>Word-break property example</h2>
    <div class="container">
      <h3>Text breaks inside words</h3>
      <p class="text break">
        Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem <strong>Ipsum</strong> has been the industry's standard dummy text ever since the 1500s, when an <strong>unknown</strong> printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, <strong>remaining</strong> essentially unchanged.
      </p>
    </div>
  </body>
</html>

Valori

ValoreDescrizione
normalUtilizza le regole di interruzione di riga predefinite. Questo è il valore predefinito della proprietà.
break-allInterrompe tra qualsiasi coppia di caratteri, indipendentemente dall'overflow. Questo può rendere il testo difficile da leggere.
keep-allLe interruzioni di parola non devono essere usate per il testo cinese/giapponese/coreano (CJK). Il comportamento del testo non-CJK è lo stesso di normal.
break-wordDeprecato. Interrompe le parole in punti arbitrari se non ci sono punti di interruzione accettabili nella riga. Usare overflow-wrap: anywhere al suo posto.
initialFa sì che la proprietà utilizzi il suo valore predefinito.
inheritEredita la proprietà dall'elemento padre.

Suggerimenti e insidie comuni

  • break-all riduce la leggibilità. Poiché può dividere una parola in qualsiasi carattere, il testo normale diventa difficile da leggere. Usarlo solo quando il contenuto non è prosa (codici, hash, URL) o quando si vuole davvero che ogni riga sia riempita fino al bordo.
  • Preferire overflow-wrap per "impedire semplicemente l'overflow". Se l'unico obiettivo è evitare che una URL lunga rompa il layout, overflow-wrap: break-word mantiene intatte le parole normali e interrompe solo quella problematica.
  • break-word è deprecato. Il valore break-word di word-break è legacy e si comporta come overflow-wrap: anywhere combinato con word-break: normal. Non usarlo nel nuovo codice — impostare overflow-wrap: anywhere al suo posto.
  • keep-all è per il testo CJK. Impedisce le interruzioni all'interno delle parole cinesi, giapponesi e coreane. Il testo latino viene trattato come normal, quindi non ha alcun effetto visibile sul contenuto in italiano.
  • Combinare con hyphens per una prosa più elegante. Quando si vuole che le parole lunghe vadano a capo in punti sensati con un trattino, abbinare overflow-wrap con hyphens invece di forzare break-all.

Supporto browser

word-break è supportata in tutti i browser moderni. I valori normal, break-all e keep-all sono ampiamente disponibili; il valore legacy break-word è supportato per compatibilità con le versioni precedenti ma dovrebbe essere evitato.

Esercitazione

Pratica
Quale affermazione è corretta riguardo alla proprietà word-break?
Quale affermazione è corretta riguardo alla proprietà word-break?
Was this page helpful?