Den overflow-wrap
egendom i CSS kan du ange att webbläsaren kan bryta en textrad innanför riktade elementet på flera rader i en annars okrossbar plats. Detta hjälper till att undvika en ovanligt lång textsträng som orsakar layoutproblem på grund av överflöd.
.example ( overflow-wrap: break-word; )
Värden
normal
: standarden. Webbläsaren bryter linjer enligt normala regler för linjebrytande. Ord eller obrutna strängar går inte sönder, även om de rinner över behållaren.break-word
: ord eller strängar av tecken som är för stora för att passa inuti behållaren kommer att gå sönder på en godtycklig plats för att tvinga en radbrytning. En bindestreck kommer inte att infogas, även omhyphens
egenskapen används.inherit
: det riktade elementet måste ärva värdet påoverflow-wrap
egenskapen som definieras av dess omedelbara förälder.
Demonstrationen nedan har en växlingsknapp som låter dig växla mellan normal
och break-word
.
Se Pennaöverflödes- / ordförpackningsdemo av Louis Lazaris (@impressivewebs) på CodePen.
För att demonstrera problemet som overflow-wrap
försöker lösa använder demo ett ovanligt långt ord i en relativt liten behållare. När du växlar break-word
på bryts ordet för att rymma den lilla mängden tillgängligt utrymme, som om ordet var flera ord.
En rad icke-brytande mellanslagstecken (
) skulle behandlas på samma sätt och skulle också brytas på en lämplig plats.
overflow-wrap
är användbart när det används på element som innehåller omoderat användargenererat innehåll (som kommentarer). Detta kan förhindra att långa webbadresser och andra obrutna textsträngar (t.ex. vandalism) bryter en webbsides layout.
Likheter med word-break
fastigheten
overflow-wrap
och word-break
beter sig mycket likartat och kan användas för att lösa liknande problem. En grundläggande sammanfattning av skillnaden, som förklaras i CSS-specifikationen, är:
overflow-wrap
används vanligtvis för att undvika problem med långa strängar som orsakar trasiga layouter på grund av att text flyter utanför en behållare.word-break
anger mjuka omslagsmöjligheter mellan bokstäver som ofta är associerade med språk som kinesiska, japanska och koreanska (CJK).
Efter att ha beskrivit exempel på hur man word-break
kan använda i CJK-innehåll, säger specifikationen: "För att möjliggöra ytterligare avbrottsmöjligheter endast vid överflöd, se overflow-wrap
".
Från detta kan vi anta att det word-break
är bäst att använda med icke-engelska innehåll som kräver specifika ordbrytande regler, och som kan vara blandat med engelska innehåll, samtidigt som det overflow-wrap
bör användas för att undvika trasiga layouter på grund av långa strängar, oavsett vilket språk som används .
Den historiska word-wrap
fastigheten
overflow-wrap
är standardnamnet för sin föregångare, word-wrap
fastigheten. word-wrap
var ursprungligen en egen Internet Explorer-funktion som så småningom fick stöd i alla webbläsare trots att den inte var en standard.
word-wrap
accepterar samma värden som overflow-wrap
och beter sig på samma sätt. Enligt specifikationen måste webbläsare ”behandla word-wrap
som ett alternativt namn för overflow-wrap
fastigheten, som om det vore en förkortning av overflow-wrap
”. Dessutom måste alla användaragenter stödja på word-wrap
obestämd tid av äldre skäl.
Båda overflow-wrap
och word-wrap
kommer att klara CSS-validering så länge som valideraren är inställd på att testa mot CSS3 eller högre (för närvarande standard).
Relaterad
- ordbrytning
- bindestreck
- vitt utrymme
- Hantering av långa ord och webbadresser
Mer information
- Word-Wrap: En CSS3-egenskap som fungerar i varje webbläsare
- Överflödesförpackning på W3C
- Diskussion om Stack Overflow på
word-break
vs.overflow-wrap
Webbläsarstöd
Denna webbläsares supportdata kommer från Caniuse, som har mer detaljer. Ett nummer indikerar att webbläsaren stöder funktionen i den versionen och uppåt.
Skrivbord
Krom | Firefox | IE | Kant | Safari |
---|---|---|---|---|
23 | 49 | 11 | 18 | 6.1 |
Mobil / surfplatta
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7,0-7,1 |
Det "partiella" stöd som anges ovan beror på att äldre webbläsare stöder word-wrap
men inte overflow-wrap
. Att använda båda kan säkerställa bakåtkompatibilitet.
Redaktörens utkastversion av W3C-specifikationen innehåller ett nytt värde som kallas break-spaces
sekvenser av "bevarade" vita tecken. Det finns inget känt webbläsarstöd för den här funktionen och den ingår inte i arbetsutkastversionen av specifikationen.