Break-line - CSS-Tricks

Anonim

Proprietatea CSS line-breakdefinește modul în care se aplică cu strictețe regulile pentru împachetarea textului pe linii noi, în special atunci când se lucrează cu simboluri și punctuații în sistemele de scriere chinezești, japoneze sau coreene (CJK). Este inclus în specificația de nivel 3 a modulului text CSS, care se află în prezent în proiectul editorului.

.element ( line-break: strict; )

Demo

Sintaxă

line-break: auto | loose | normal | strict | anywhere;
  • Iniţială: auto
  • Se aplică tuturor elementelor
  • Moștenit: da
  • Valoare calculată: conform specificațiilor
  • Tipul de animație: discret

Valori

/* Keyword values */ line-break: auto; line-break: loose; line-break: normal; line-break: strict; line-break: anywhere; /* Global values */ line-break: inherit; line-break: initial; line-break: unset;
  • auto: Aceasta permite browserului să decidă cum implementează întreruperile de linie. Fiecare browser poate diferi în funcție de criteriile sale în funcție de factori, inclusiv lungimea liniei.
  • loose: Aceasta este cea mai ușoară aplicare a regulilor de rupere a liniei. Specificația citează linii scurte de text, precum cele pe care le-am putea vedea într-un ziar, ca exemplu în care ar putea fi utilizată această valoare.
  • normal: Aceasta rupe liniile de text bazate pe „cel mai comun” set de reguli. (Rețineți că nu există nicio definiție cu privire la care este cel mai comun set de reguli sau ce ar putea conține.)
  • strict: Aceasta impune cel mai strict set de reguli pentru întreruperile de linie.
  • anywhere: Această valoare permite oportunități de împachetare ușoară, care permit ca textul să se rupă în spații sau punctuație în loc de limita cuvântului. Este ideal pentru limbile care nu ar putea folosi spații sau punctuație pentru a separa cuvintele. Specificația spune că CSS nu definește oportunitățile de împachetare ușoară, iar această valoare le recunoaște și le valorifică pentru a aplica reguli de întrerupere a liniei. Specificația descrie comportamentul de împachetare a textului ca ceea ce vedem de obicei într-un terminal.

Specificația notează, de asemenea, că anywherevaloarea permite spațiilor albe păstrate la sfârșitul unei linii să se încheie cu linia următoare atunci când este utilizată cu white-spaceproprietatea setată la break-spaces.

Apreciați comportamentul în diferite limbi

Așa cum v-ați putea imagina, diferite limbi au preferințe diferite atunci când vine vorba de modul în care textul este împărțit pe linii noi. Nu există o convenție standardizată utilizată de toate limbile. Acest lucru lasă la latitudinea browserelor să descopere și să respecte regulile „corecte” pentru o anumită limbă. Dar specificația conturează mai multe cerințe pentru a stabili dacă întreruperea liniei este permisă la diferite niveluri de line-breakstrictețe în anumite situații. Le vom prezenta aici.

Situatie normal loose strict
Pauze înainte de kana japoneză mică sau marca sonoră prelungită Katakana-Hiragana, adică caracter din clasa de întrerupere a liniilor Unicode CJ
Pauze înainte de anumite caractere cu cratimă CJK:
〜 U + 301C, ゠ U + 30A0
✅ dacă sistemul de scriere este chinezesc sau japonez Permis, dacă sistemul de scriere este chinezesc sau japonez
Pauze înainte de anumite caractere cu cratimă CJK:
〜 U + 301C, ゠ U + 30A0
✅ dacă caracterul precedent aparține clasei de întrerupere a liniilor Unicode ID(inclusiv atunci când caracterul precedent este tratat ca IDdatoratword-break: break-all)
Pauze înainte de semnele de iterație:
々 U + 3005, 〻 U + 303B, ゝ U + 309D, ゞ U + 309E, ヽ U + 30FD, ヾ U + 30FE
Pauze între caractere nedespărțite (cum ar fi ‥ U + 2025,… U + 2026), adică caractere din clasa de întrerupere a liniilor Unicode IN
Pauze înainte de anumite semne de punctuație centrate:
・ U + 30FB, : U + FF1A, ; U + FF1B, ・ U + FF65,‼ U + 203C, U U + 2047,⁈ U + 2048,⁉ U + 2049,! U + FF01,? U + FF1F
Pauzele înainte de sufixe:
Caractere cu clasa linie de rupere Unicode , POiar proprietatea din Asia de Est lățime Ambiguous, Fullwidthsau Wide.
Pauzele după prefixe:
Caractere cu clasa linie de rupere Unicode , PRiar proprietatea din Asia de Est lățime Ambiguous, Fullwidthsau Wide.
IE Margine Firefox Crom Safari Operă
6+ Peste 14 ani Peste 69 de ani Toate Toate 15+
Android Chrome Android Firefox Browser Android Safari iOS Opera Mobile
Peste 85 de ani Nu Peste 81 de ani Toate Peste 59 de ani
Sursa: caniuse

Proprietăți conexe

Almanah pe 25 aprilie 2020

blocare-depășire

Robin Rendle