Konec řádku - Triky CSS

Anonim

Vlastnost CSS line-breakdefinuje, jak striktně vynutit pravidla pro zalamování zalamování textu na nových řádcích, zejména při práci se symboly a interpunkcemi v čínských, japonských nebo korejských (CJK) systémech psaní. Je obsažen ve specifikaci CSS Textový modul úrovně 3, která je aktuálně v Draft editoru.

.element ( line-break: strict; )

Ukázka

Syntax

line-break: auto | loose | normal | strict | anywhere;
  • Počáteční: auto
  • Platí pro: všechny prvky
  • Zděděno: ano
  • Vypočítaná hodnota: jak je uvedeno
  • Typ animace: diskrétní

Hodnoty

/* 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: Toto umožňuje prohlížeči rozhodnout, jak implementuje zalomení řádků. Každý prohlížeč se může lišit podle svých kritérií na základě faktorů, včetně délky řádku.
  • loose: Toto je nejlehčí vynucování pravidel prolomení řádku. Specifikace uvádí krátké řádky textu, například ty, které bychom mohli vidět v novinách, jako příklad, kde by tato hodnota mohla být použita.
  • normal: Tím se rozdělí řádky textu na základě „nejběžnější“ sady pravidel. (Všimněte si, že neexistuje žádná definice toho, co je nejběžnější sada pravidel nebo co by mohla obsahovat.)
  • strict: Tím se vynutí nejpřísnější sada pravidel pro zalomení řádků.
  • anywhere: Tato hodnota povoluje možnosti měkkého zalamování, které umožňují zlomení textu v mezerách nebo interpunkci namísto samotné hranice slova. Je ideální pro jazyky, které k oddělení slov nepoužívají mezery ani interpunkci. Specifikace říká, že CSS nedefinuje možnosti měkkého zalomení a tato hodnota je rozpozná a využije k použití pravidel pro zalomení řádku. Specifikace popisuje chování zalamování textu jako to, co obvykle vidíme v terminálu.

Specifikace také poznamenává, že anywherehodnota umožňuje zachovat prázdné znaky na konci řádku, aby se zalamovaly na další řádek, když se použijí s white-spacevlastností nastavenou na break-spaces.

Chování hodnoty v různých jazycích

Jak si dokážete představit, různé jazyky mají různé předvolby, pokud jde o to, jak je text rozdělen na nové řádky. Ve všech jazycích neexistuje standardizovaná konvence. To ponechává na prohlížečích, aby zjistily a dodržovaly „správná“ pravidla pro konkrétní jazyk. Specifikace však uvádí několik požadavků na určení, zda je line-breakv určitých situacích povoleno lámání řádků na různých úrovních přísnosti. Tady je představíme.

Situace normal loose strict
Přestávky před japonskou malou kanou nebo prodlouženou zvukovou značkou Katakana-Hiragana, tj. Znak z třídy prolomení řádku Unicode CJ
Přestávky před určitými znaky
pomlček CJK: 〜 U + 301C, ゠ U + 30A0
✅ pokud je systém psaní čínský nebo japonský Povoleno, pokud je systém psaní čínský nebo japonský
Přestávky před určitými znaky
pomlček CJK: 〜 U + 301C, ゠ U + 30A0
✅ pokud předchozí znak patří do třídy prolomení řádku Unicode ID(včetně případů, kdy je s předchozím znakem zacházeno jako IDkvůliword-break: break-all)
Přestávky před iteračními značkami:
々 U + 3005, 〻 U + 303B, ゝ U + 309D, ゞ U + 309E, ヽ U + 30FD, ヾ U + 30FE
Přestávky mezi neoddělitelnými znaky (například ‥ U + 2025,… U + 2026), tj. Znaky z třídy Unicode pro dělení řádků IN
Přestávky před určitými středovými interpunkčními znaménky:
・ U + 30FB, : U + FF1A, ; U + FF1B, ・ U + FF65,‼ U + 203C,⁇ U + 2047,⁈ U + 2048,⁉ U + 2049,! U + FF01,? U + FF1F
Přestávky před přípon:
Znaky Unicode linie zlomu třídy POa majetku východoasijské šířka Ambiguous, Fullwidthnebo Wide.
Přestávky po předponami:
Znaky Unicode linie zlomu třídy PRa majetku východoasijské šířka Ambiguous, Fullwidthnebo Wide.
TJ Okraj Firefox Chrome Safari Opera
6+ 14+ 69+ Všechno Všechno 15+
Android Chrome Android Firefox Prohlížeč Android iOS Safari Opera Mobile
85+ Ne 81+ Všechno 59+
Zdroj: caniuse

Související vlastnosti

Almanach 25. dubna 2020

přetečení bloku

Robin Rendle