Den overflow-wrap
ejendom i CSS kan du angive, at browseren kan bryde en tekstlinje inde i målrettede element på flere linjer i en ellers ubrydelig sted. Dette hjælper med at undgå en usædvanlig lang tekststreng, der forårsager layoutproblemer på grund af overløb.
.example ( overflow-wrap: break-word; )
Værdier
normal
: standard. Browseren bryder linjer i henhold til normale regler for linjeskift. Ord eller ubrudte strenge går ikke i stykker, selvom de løber over containeren.break-word
: ord eller strenge af tegn, der er for store til at passe inde i deres container, bryder et vilkårligt sted for at tvinge et linjeskift. Et bindestregtegn indsættes ikke, selvomhyphens
ejendommen bruges.inherit
: det målrettede element skal arve værdien af denoverflow-wrap
ejendom, der er defineret på den nærmeste forælder.
Demoen nedenfor har en vippeknap, der giver dig mulighed for at skifte mellem normal
og break-word
.
Se Penoverløb-wrap / word-wrap demo af Louis Lazaris (@impressivewebs) på CodePen.
For at demonstrere det problem, der overflow-wrap
forsøger at løse, bruger demoen et usædvanligt langt ord inde i en relativt lille container. Når du skifter break-word
til, brydes ordet for at rumme den lille mængde ledig plads, som om ordet var flere ord.
En streng af ikke-brudende mellemrumstegn (
) behandles på samme måde og brydes også på et passende sted.
overflow-wrap
er nyttigt, når det anvendes på elementer, der indeholder umodereret brugergenereret indhold (som kommentarsektioner). Dette kan forhindre lange webadresser og andre ubrudte tekststrenge (f.eks. Hærværk) i at bryde en websides layout.
Ligheder med word-break
ejendommen
overflow-wrap
og word-break
opfører sig meget ens og kan bruges til at løse lignende problemer. Et grundlæggende resumé af forskellen som forklaret i CSS-specifikationen er:
overflow-wrap
bruges generelt til at undgå problemer med lange strenge, der forårsager ødelagte layouts på grund af tekst, der flyder uden for en container.word-break
angiver muligheder for soft wrap mellem bogstaver, der ofte er knyttet til sprog som kinesisk, japansk og koreansk (CJK).
Efter at have beskrevet eksempler på, hvordan word-break
man kan bruge i CJK-indhold, siger spec: "For at kun muliggøre yderligere pausemuligheder i tilfælde af overløb, se overflow-wrap
".
Ud fra dette kan vi antage, at word-break
det bedst bruges med ikke-engelsk indhold, der kræver specifikke ordbrydende regler, og som kan være blandet med engelsk indhold, mens det overflow-wrap
skal bruges til at undgå brudte layout på grund af lange strenge, uanset hvilket sprog der bruges .
Den historiske word-wrap
ejendom
overflow-wrap
er standardnavnet for sin forgænger, word-wrap
ejendommen. word-wrap
var oprindeligt en proprietær eneste Internet Explorer-funktion, der til sidst blev understøttet i alle browsere på trods af at den ikke var en standard.
word-wrap
accepterer de samme værdier som overflow-wrap
og opfører sig på samme måde. Ifølge specifikationen skal browsere “behandle word-wrap
som et alternativt navn for overflow-wrap
ejendommen, som om det var en stenografi af overflow-wrap
“. Også alle brugeragenter er forpligtet til at støtte på word-wrap
ubestemt tid af ældre grunde.
Både overflow-wrap
og word-wrap
bestå CSS-validering, så længe validatoren er indstillet til at teste mod CSS3 eller højere (i øjeblikket standard).
Relaterede
- ordbrud
- bindestreger
- hvidt rum
- Håndtering af lange ord og webadresser
Mere information
- Word-Wrap: En CSS3-ejendom, der fungerer i enhver browser
- Indpakning af overløb på W3C
- Diskussion om Stack Overflow på
word-break
vs.overflow-wrap
Browsersupport
Denne browsersupportdata er fra Caniuse, som har flere detaljer. Et tal angiver, at browseren understøtter funktionen i den version og opefter.
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
23 | 49 | 11 | 18 | 6.1 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 7,0-7,1 |
Den "delvise" support, der er angivet ovenfor, skyldes ældre browsere, der understøtter, word-wrap
men ikke overflow-wrap
. Brug af begge kan sikre bagudkompatibilitet.
Editorens kladdeversion af W3C-specifikationen inkluderer en ny værdi kaldet, break-spaces
der beskæftiger sig med sekvenser af “bevarede” hvide rumtegn. Der er ingen kendt browsersupport til denne funktion, og den er ikke inkluderet i arbejdsudkastversionen af specifikationen.