La overflow-wrap
proprietà in CSS consente di specificare che il browser può spezzare una riga di testo all'interno dell'elemento mirato su più righe in una posizione altrimenti indistruttibile. Ciò consente di evitare che una stringa di testo insolitamente lunga causi problemi di layout a causa dell'overflow.
.example ( overflow-wrap: break-word; )
Valori
normal
: il predefinito. Il browser interromperà le righe in base alle normali regole di interruzione di riga. Parole o stringhe ininterrotte non si romperanno, anche se traboccano dal contenitore.break-word
: parole o stringhe di caratteri che sono troppo grandi per entrare nel loro contenitore si interromperanno in una posizione arbitraria per forzare un'interruzione di riga. Non verrà inserito un trattino, anche sehyphens
viene utilizzata la proprietà.inherit
: l'elemento targetizzato deve ereditare il valore dellaoverflow-wrap
proprietà definita sul suo genitore immediato.
La demo seguente ha un pulsante di attivazione / disattivazione che ti consente di passare da normal
e break-word
.
Guarda la demo Pen overflow-wrap / word-wrap di Louis Lazaris (@impressivewebs) su CodePen.
Per dimostrare il problema che overflow-wrap
tenta di risolvere, la demo utilizza una parola insolitamente lunga all'interno di un contenitore relativamente piccolo. Quando si break-word
attiva, la parola viene interrotta per adattarsi alla piccola quantità di spazio disponibile, come se la parola fosse più parole.
Una stringa di caratteri spazio unificatori (
) verrebbe trattata allo stesso modo e si spezzerebbe anche in un punto appropriato.
overflow-wrap
è utile se applicato a elementi che contengono contenuti generati dagli utenti non moderati (come le sezioni dei commenti). Ciò può impedire che URL lunghi e altre stringhe di testo ininterrotte (ad esempio atti di vandalismo) danneggino il layout di una pagina web.
Somiglianze con la word-break
proprietà
overflow-wrap
e si word-break
comportano in modo molto simile e possono essere utilizzati per risolvere problemi simili. Un riassunto di base della differenza, come spiegato nella specifica CSS è:
overflow-wrap
è generalmente utilizzato per evitare problemi con stringhe lunghe che causano layout interrotti a causa del testo che scorre all'esterno di un contenitore.word-break
specifica le opportunità di avvolgimento morbido tra le lettere comunemente associate a lingue come cinese, giapponese e coreano (CJK).
Dopo aver descritto esempi di come word-break
può essere utilizzato nel contenuto CJK, la specifica dice: "Per abilitare ulteriori opportunità di interruzione solo in caso di overflow, vedere overflow-wrap
".
Da ciò, possiamo supporre che word-break
sia meglio utilizzato con contenuti non in inglese che richiedono regole specifiche per spezzare le parole e che potrebbero essere intervallati da contenuti in inglese, mentre overflow-wrap
dovrebbero essere usati per evitare layout interrotti a causa di stringhe lunghe, indipendentemente dalla lingua utilizzata .
La word-wrap
proprietà storica
overflow-wrap
è il nome standard per il suo predecessore, la word-wrap
proprietà. word-wrap
era originariamente una funzionalità esclusiva di Internet Explorer che alla fine è stata supportata in tutti i browser nonostante non fosse uno standard.
word-wrap
accetta gli stessi valori di overflow-wrap
e si comporta allo stesso modo. Secondo le specifiche, i browser "devono considerare word-wrap
un nome alternativo per la overflow-wrap
proprietà, come se fosse una scorciatoia di overflow-wrap
". Inoltre, tutti i programmi utente devono supportare word-wrap
indefinitamente, per motivi legacy.
Entrambi overflow-wrap
e word-wrap
passeranno la convalida CSS fintanto che il validatore è impostato per testare con CSS3 o superiore (attualmente l'impostazione predefinita).
Relazionato
- word-break
- trattini
- spazio bianco
- Gestione di parole lunghe e URL
Maggiori informazioni
- A capo automatico: una proprietà CSS3 che funziona in ogni browser
- Overflow Wrapping su W3C
- Discussione su Stack Overflow su
word-break
vs.overflow-wrap
Supporto browser
Questi dati di supporto del browser provengono da Caniuse, che ha più dettagli. Un numero indica che il browser supporta la funzione a quella versione e successive.
Desktop
Cromo | Firefox | IE | Bordo | Safari |
---|---|---|---|---|
23 | 49 | 11 | 18 | 6.1 |
Mobile / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7.0-7.1 |
Il supporto "parziale" sopra indicato è dovuto ai browser meno recenti che supportano word-wrap
ma non lo sono overflow-wrap
. L'utilizzo di entrambi può garantire la compatibilità con le versioni precedenti.
La versione bozza dell'editor della specifica W3C include un nuovo valore chiamato break-spaces
che si occupa di sequenze di caratteri di spazio bianco "conservati". Non esiste un supporto browser noto per questa funzione e non è inclusa nella versione bozza funzionante della specifica.