Den overflow-wrap
eiendom i CSS kan du angi at nettleseren kan bryte en tekstlinje inne i målrettet element på flere linjer i en ellers uknuselig sted. Dette bidrar til å unngå en uvanlig lang tekststreng som forårsaker layoutproblemer på grunn av overløp.
.example ( overflow-wrap: break-word; )
Verdier
normal
: Standaren. Nettleseren vil bryte linjer i henhold til normale regler for linjeskift. Ord eller ubrutte strenger vil ikke knekke, selv om de renner over beholderen.break-word
: ord eller strenger av tegn som er for store til å passe inn i beholderen deres, vil brytes på et vilkårlig sted for å tvinge et linjeskift. Et bindestrektegn blir ikke satt inn, selv omhyphens
egenskapen brukes.inherit
: det målrettede elementet må arve verdien avoverflow-wrap
eiendommen som er definert på den nærmeste forelderen.
Demoen nedenfor har en vippeknapp som lar deg bytte mellom normal
og break-word
.
Se Pen overflow-wrap / word-wrap demo av Louis Lazaris (@impressivewebs) på CodePen.
For å demonstrere problemet som overflow-wrap
prøver å løse, bruker demoen et uvanlig langt ord inne i en relativt liten container. Når du slår break-word
på, blir ordet ødelagt for å imøtekomme den lille mengden tilgjengelig plass, som om ordet var flere ord.
En streng med ikke-bryte mellomromstegn (
) vil bli behandlet på samme måte og vil også bryte på et passende sted.
overflow-wrap
er nyttig når den brukes på elementer som inneholder umodert brukergenerert innhold (som kommentarseksjoner). Dette kan forhindre lange URL-er og andre ubrutte tekststrenger (f.eks. Hærverk) fra å bryte layoutet til en webside.
Likheter med word-break
eiendommen
overflow-wrap
og word-break
oppfører seg veldig likt og kan brukes til å løse lignende problemer. Et grunnleggende sammendrag av forskjellen, som forklart i CSS-spesifikasjonen, er:
overflow-wrap
brukes vanligvis for å unngå problemer med lange strenger som forårsaker ødelagte oppsett på grunn av tekst som strømmer utenfor en container.word-break
angir muligheter for myke omslag mellom bokstaver som ofte er assosiert med språk som kinesisk, japansk og koreansk (CJK).
Etter å ha beskrevet eksempler på hvordan word-break
du kan bruke i CJK-innhold, sier spesifikasjonen: “For å aktivere ytterligere pausemuligheter bare i tilfelle overløp, se overflow-wrap
“.
Fra dette kan vi anta det som word-break
er best brukt med ikke-engelsk innhold som krever spesifikke ordbrytende regler, og som kan være ispedd engelsk innhold, mens det overflow-wrap
bør brukes for å unngå ødelagte oppsett på grunn av lange strenger, uavhengig av hvilket språk som brukes .
Den historiske word-wrap
eiendommen
overflow-wrap
er standardnavnet for forgjengeren, word-wrap
eiendommen. word-wrap
var opprinnelig en egenutviklet eneste Internet Explorer-funksjon som til slutt ble støttet i alle nettlesere til tross for at den ikke var en standard.
word-wrap
aksepterer de samme verdiene som overflow-wrap
og oppfører seg på samme måte. I følge spesifikasjonen må nettlesere “behandle word-wrap
som et alternativt navn for overflow-wrap
eiendommen, som om det var en stenografi av overflow-wrap
“. Også alle brukeragenter er pålagt å støtte på word-wrap
ubestemt tid, av eldre årsaker.
Både overflow-wrap
og word-wrap
vil bestå CSS-validering så lenge validatoren er satt til å teste mot CSS3 eller høyere (for øyeblikket standard).
I slekt
- ordbrudd
- bindestreker
- hvit-plass
- Håndtering av lange ord og nettadresser
Mer informasjon
- Word-Wrap: En CSS3-egenskap som fungerer i alle nettlesere
- Overflow Wrapping på W3C
- Diskusjon om Stack Overflow on
word-break
vs.overflow-wrap
Nettleserstøtte
Disse nettleserstøttedataene er fra Caniuse, som har flere detaljer. Et tall indikerer at nettleseren støtter funksjonen i den versjonen og oppover.
Desktop
Chrome | Firefox | DVS | Kant | Safari |
---|---|---|---|---|
23 | 49 | 11 | 18 | 6.1 |
Mobil / nettbrett
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7,0-7,1 |
Den "delvise" støtten som er angitt ovenfor, skyldes at eldre nettlesere støtter, word-wrap
men ikke overflow-wrap
. Bruk av begge kan sikre bakoverkompatibilitet.
Redaktørens utkast til W3C-spesifikasjonen inkluderer en ny verdi som kalles break-spaces
sekvenser med “bevarte” tegn i mellomrom. Det er ingen kjent nettleserstøtte for denne funksjonen, og den er ikke inkludert i arbeidsutkastversjonen av spesifikasjonen.