Prekid crte - CSS-trikovi

Anonim

line-breakSvojstvo CSS definira koliko se strogo moraju provoditi pravila za umotavanje omatanja teksta u nove retke, posebno kada se rade sa simbolima i interpunkcijama u kineskim, japanskim ili korejskim (CJK) sustavima pisanja. Uključen je u specifikaciju CSS Tekstualni modul razine 3, koja je trenutno u Nacrtu urednika.

.element ( line-break: strict; )

Demo

Sintaksa

line-break: auto | loose | normal | strict | anywhere;
  • Inicijal: auto
  • Odnosi se na: sve elemente
  • Naslijeđeno: da
  • Izračunata vrijednost: kako je navedeno
  • Vrsta animacije: diskretna

Vrijednosti

/* 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: Ovo omogućuje pregledniku da odluči kako će primijeniti prijelome redaka. Svaki se preglednik može razlikovati prema kriterijima na temelju čimbenika, uključujući duljinu retka.
  • loose: Ovo je najlakše provođenje pravila o rušenju crta. Specifikacija navodi kratke retke teksta, poput onih koje bismo mogli vidjeti u novinama, kao primjer gdje bi se ta vrijednost mogla koristiti.
  • normal: Ovo razbija retke teksta na temelju "najčešćeg" skupa pravila. (Imajte na umu da ne postoji definicija o tome koji je najčešći skup pravila ili što on može sadržavati.)
  • strict: Ovo provodi najstroži niz pravila za prelome redaka.
  • anywhere: Ova vrijednost omogućuje mogućnosti mekog umotavanja, koje omogućuju razbijanje teksta na razmake ili interpunkciju umjesto same granice riječi. Idealno je za jezike koji možda ne koriste razmake ili interpunkciju za odvajanje riječi. Specifikacija kaže da CSS ne definira mogućnosti mekog premotavanja, a ova vrijednost prepoznaje ih i koristi za primjenu pravila preloma retka. Specifikacija opisuje ponašanje umotavanja teksta poput onoga što obično vidimo u terminalu.

Specifikacija također napominje da anywherevrijednost omogućuje da se sačuvani bijeli razmaci na kraju retka premotaju u sljedeći redak kada se koriste sa white-spacesvojstvom postavljenim na break-spaces.

Vrijednosno ponašanje u različitim jezicima

Kao što možete zamisliti, različiti jezici imaju različite postavke kada je riječ o načinu na koji se tekst razbija na nove retke. Ne postoji standardizirana konvencija koju koriste svi jezici. To ostavlja preglednicima da shvate i slijede "točna" pravila za određeni jezik. No, specifikacija navodi nekoliko zahtjeva za određivanje je li dopušteno prekidanje crta na različitim razinama line-breakstrogosti u određenim situacijama. Predstavit ćemo ih ovdje.

Situacija normal loose strict
Prekidi prije japanske male kana ili produženog zvučnog znaka Katakana-Hiragana, tj. Lika iz klase lomljenja linije Unicode CJ
Prekidi prije određenih znakova nalik crtici poput CJK:
〜 U + 301C, ゠ U + 30A0
✅ ako je sustav pisanja kineski ili japanski Dopušteno ako je sustav pisanja kineski ili japanski
Prekidi prije određenih znakova nalik crtici poput CJK:
〜 U + 301C, ゠ U + 30A0
✅ ako prethodni znak pripada klasi razbijanja linija Unicode ID(uključujući i kada se prethodni znak tretira kao IDposljedicaword-break: break-all)
Prekidi prije iteracijskih oznaka:
々 U + 3005, 〻 U + 303B, ゝ U + 309D, ゞ U + 309E, ヽ U + 30FD, ヾ U + 30FE
Prekidi između nerazdvojnih znakova (poput ‥ U + 2025, ... U + 2026), tj. Znakova iz klase razbijanja linija Unicode IN
Prekidi prije određenih centriranih interpunkcijskih znakova:
・ U + 30FB, : U + FF1A, ; U + FF1B, ・ U + FF65,‼ U + 203C,⁇ U + 2047,⁈ U + 2048,⁉ U + 2049,! U + FF01,? U + FF1F
Pauze prije nastavaka:
Likovi sa Unicode linija razbijanje klase POi imovine East Asian Širina Ambiguous, Fullwidthili Wide.
Pauze nakon prefiksa:
Likovi sa Unicode linija razbijanje klase PRi imovine East Asian Širina Ambiguous, Fullwidthili Wide.
IE Rub Firefox Krom Safari Opera
6+ 14+ 69+ svi svi 15+
Android Chrome Android Firefox Android preglednik iOS Safari Opera Mobile
85+ Ne 81+ svi 59+
Izvor: caniuse

Povezana svojstva

Almanah 25. travnja 2020

blok-preljev

Robin Rendle