CSS zalamovanie dlhých slov. Ako pridať zlomy riadkov pomocou vlastností CSS

Domov / Zamrzne

Internet sa skladá z obsahu, obsah sa skladá zo slov a slová môžu byť veľmi, veľmi dlhé. A skôr či neskôr sa správca webu stretne s problémom delenia dlhých slov. Tento problém je obzvlášť dôležitý pre responzívny dizajn a pre malé bloky obsahu. Ako si teda s týmto problémom poradiť?

Spojovník

Prvým riešením delenia dlhých slov je použitie pomlčky.

Definícia ( -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; pomlčky: auto; )

Podpora prehliadača: Pomlčky CSS podporujú takmer všetky moderné prehliadače, s výnimkou Chrome, Opera, Android. Veľmi často sa tiež vkladá spojovník na miesta, ktoré sú gramaticky nesprávne.

Slovo zlom

Zlomenie slov je vlastnosť CSS, ktorá označuje, či majú byť riadky v slovách prerušované.

Obriv-slova ( -ms-word-break: break-all; word-break: break-all; word-break: break-word; )

Podpora prehliadača: Zlomy slov sú podporované vo všetkých prehliadačoch okrem Opery Mini a starších verzií Opery.

Prepadový obal

Ďalším riešením je použitie prepadového obalu.

Obertka-perepolneniya ( zalomenie slov: prelomové slovo; pretečenie-zabalenie: prelomové slovo; )

Podpora prehliadača: Podporované takmer vo všetkých prehliadačoch. Poznámka: Niektoré prehliadače vyžadujú použitie "word-wrap" namiesto "overflow-wrap".

Elipsa

Ďalšou možnosťou je použiť elipsy.

Multigotochiye ( pretečenie: skryté; medzera: nowrap; pretečenie textu: elipsa; )

Podpora prehliadača: Podporované všetkými modernými prehliadačmi.

Táto metóda funguje, ale nie je ani zďaleka ideálna.

Konečné riešenie: Použitie obalu pretečenia a spojovníka.

Finalnoye-resheniye ( overflow-wrap: break-word; word-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; spojovníky: auto; )

Toto riešenie umožní prehliadaču, ktorý ho podporuje, vložiť spojovník a prehliadačom, ktoré ho nepodporujú, vložiť zalomenie riadku.

Zdravím všetkých a začnime. Povedzme, že máme nasledujúci text:

Vláda Spojených arabských emirátov a administratíva sústreďujú v tomto meste všetky najnovšie technológie založené na najnovších výdobytkoch vedy a techniky a snažia sa ho premeniť na mesto budúcnosti, akoby priamo z obrazovky nejakej sci-fi. film. Medzi tieto technológie patria robotickí policajti, robotické autá a dopravný systém Hyperloop a v blízkej budúcnosti začne v Dubaji fungovať aj automatizovaná lietajúca taxislužba. A v rámci prípravy na toto podujatie uskutočnilo svoj prvý let v automatickom režime elektrické dvojmiestne lietadlo Volocopter s 18 rotormi, ktoré bude slúžiť ako taxík, píšu...

Tu máme nejaký text, s ktorým teraz začneme pracovať.

A prvá vlastnosť, ktorú budeme uvažovať, sa nazýva rozdeľovanie slov

zalomenie slov: normálne | zachovať všetky | break-all

Nás zaujímajú hlavne dve hodnoty tejto normálnej vlastnosti – predvolená hodnota a break-all, pomocou ktorých zistíme, že zalamovanie slov sa vykonáva znak po znaku. Pokiaľ ide o Keep-all, táto hodnota sa používa na zalamovanie slov v čínštine, japončine a kórejčine.

P( zalomenie slov: prelomiť všetko;. )

Upozorňujeme, že po použití tohto štýlu celý náš text je roztiahnutý na plnú dostupnú šírku a pomlčky sa nevykonávajú slovami, ale znakmi. Táto vlastnosť môže byť užitočná, keď máme veľmi dlhé slovo, ktoré sa nezmestí do zadanej šírky. Vzniká tým však akási nepríjemnosť, keďže sa znak po znaku prenášajú absolútne všetky slová, dokonca aj tie, ktoré sa zmestia do danej šírky.

Našťastie existuje podobná vlastnosť, ktorá prenáša len slová, ktoré sa nezmestia do znakov. Nazýva sa to overflow-wrap:

P( overflow-wrap: break-word; )

a po použití hodnoty break-word sa celý náš text prenesie slovo po slove a slová, ktoré sa nezmestia do zadanej šírky, sa prenesú znak po znaku. Môžeme povedať, že úloha je splnená! Okrem hodnoty zlomového slova táto vlastnosť akceptuje:

prepadový obal: normálny | prelomové slovo | dediť;

Teraz prejdime na pokročilejšiu vlastnosť css na zalamovanie slov v texte.

Zoberme si vlastnosť white-space, pomocou ktorej môžeme napodobniť činnosť pre tagu bez toho, aby sme zmenili samotný text na monospace.

biele miesto: normálne | nowrap | pred | predlinka | predbalenie | dediť

V podstate pomocou tejto vlastnosti pracujeme iba s medzerami v texte. Napríklad, ak na náš text použijeme nasledujúci štýl:

Medzera: nowrap;

všetky zalomenia riadkov budú ignorované a náš text sa zobrazí ako jeden riadok.

Medzera: pre;

Ak je hodnota pre, všetky zalomenia riadkov budú podobné tým v zdrojovom kóde. Navyše, ak sa text nezmestí do zadanej šírky, neprenesie sa. Ak chceme, aby sa preniesla, tak musíme zadať predriadkovú hodnotu.

Ak chceme brať do úvahy nielen zalomenie riadkov zdrojový kód, ale aj medzery medzi slovami, potom musíte špecifikovať:

White-space: pre-wrap;

To je v podstate všetko, čo som vám chcel povedať o delení slov pomocou CSS. Dúfam, že tento článok bol pre vás užitočný a získané poznatky využijete viackrát.

No ja sa s tebou lúčim. Prajem vám úspech a veľa šťastia! Ahoj!

Vlad Merževič

Na rozdiel od textu v tlači sa spojovníky na webovej stránke používajú len zriedka, pretože nie sme striktne viazaní na papierový formát. Stránky je možné prezerať na rôznych monitoroch, s rôznym rozlíšením, v rôznych operačných systémov a prehliadačov. Z toho všetkého vzniká taká kombinácia kombinácií, že sa nedá predpovedať, ako bude konečný text pre používateľa vyzerať. Z tohto dôvodu je text zvyčajne zarovnaný doľava a spojovníky sa vyskytujú v celých slovách. V niektorých prípadoch je však delenie slov nevyhnutné, napríklad keď sa v úzkych stĺpcoch danej šírky používajú dlhé chemické alebo lekárske výrazy z dôvodu estetiky. V HTML a CSS manuál resp automatické metódy Nie je tam toľko pomlčiek, ktoré treba pridať, tak ich všetky vymenujem.

Použitie značky

Tag zavedené v HTML5 a v prípade potreby vytvára zalamovanie slov. Na miestach, kde je podľa pravidiel ruského jazyka povolené delenie slov, vložíme (príklad 1). Ak sa celé slovo zmestí do pridelenej šírky, táto značka sa nijako neprejaví a o jej prítomnosti ani nebudeme vedieť. Ak sa slovo nezmestí, prehliadač je na mieste značky vytvorí prevod.

Príklad 1. Tag

Prestupy

Jeden dvanásta trieda snívačka Anzhelika si po ukončení školy vybrala povolanie obchodu vyrobené vodič ľahnúť si.

Výsledok tohto príkladu je znázornený na obr. 1.

Ryža. 1. Text so spojovníkmi

Mäkký prenos

Aplikácia má vážnu nevýhodu - nie je možné pochopiť, či je to pomlčka pred nami alebo samostatné slovo na inom riadku. Z tohto dôvodu sa môže stratiť význam vety a môže dôjsť k jej nesprávnemu pochopeniu. Delenie slov sa musí robiť podľa pravidiel typografie, konkrétne: na koniec riadku pridajte pomlčku. Mäkké delenie slov sa s tým dobre vyrovnáva, v kóde HTML je na to špeciálny znak - . Má rovnakú úlohu ako značka - nie je viditeľné v bežnom texte a presúva slovo na iný riadok, pričom pridáva spojovník (príklad 2).

Príklad 2: Mäkký prenos

Prestupy

Žiačka jedenásteho ročníka Angelica si po skončení školy zvolila povolanie obchodného vodiča.

Výsledok tohto príkladu je znázornený na obr. 2. Všimnite si, o koľko estetickejšie a jasnejšie vyzerá text v porovnaní s obrázkom. 1.

Ryža. 2. Text so spojovníkmi

vlastnosť oddeľovania slov

Na automatizáciu procesu vytvárania pomlčiek použite vlastnosť word-break s hodnotou break-all (príklad 3). Do HTML už nemusíte pridávať žiadne symboly alebo značky, o všetko sa postarajú štýly.

Príklad 3. Použitie zalamovania slov

Prestupy

Žiačka jedenástky Angelica si po skončení školy vybrala povolanie úradníčky.

Výsledok tohto príkladu je znázornený na obr. 3. Pravidlá pre delenie slov sa v tomto prípade neberú do úvahy, takže slová môžu byť delené veľmi bizarným spôsobom.

Ryža. 3. Text so spojovníkmi

Zo všetkých uvedených metód dáva najlepší výsledok použitie „poloručnej“ - dodržiavajú sa pravidlá ruského jazyka, text vyzerá najestetickejšie. Použite ho, keď sú v texte dlhé slová.

Vlastnosť pomlčiek

A nakoniec najvýkonnejšia a najpohodlnejšia vlastnosť pre automatické pridávanie pomlčky – pomlčky. Jeho činnosť je založená na slovníku delenia slov zabudovanom v prehliadači, takže poskytuje najlepší výsledok. Podporované v IE10, Firefox, Android a iOS. Chrome a Opera nepodporujú. Aby to fungovalo, pre značku pridajte atribút lang s hodnotou ru (príklad 4).

Príklad 4: Použitie pomlčiek

Prestupy

Žiačka jedenástky Angelica si po skončení školy vybrala povolanie úradníčky.

Výsledok tohto príkladu je znázornený na obr. 4.

Ryža. 4. Text so spojovníkmi

Zákaz prestupov

Často vzniká opačná úloha - zakázať delenie slov na miestach, kde sú podľa pravidiel jazyka neprijateľné. Nemôžete napríklad oddeliť merné jednotky od čísla (10 ml), označenia roku (54 pred Kr.), iniciál od priezviska, zlomiť ustálené skratky (atď.) atď. Ak chcete zabrániť tomu, aby prehliadač pridával spojovníky na medzera, mala by byť nahradená neprerušiteľnou medzerou (príklad 5).

Príklad 5: Použitie

Prestupy

Jazero na súradniciach 70° 58′ 19″ s. w. 97° 24′ 5″ vých. nachádza sa v regióne Taimyr Dolgano-Nenets Krasnojarské územie

Rusko.

Vlastnosť white-space určuje spôsob zobrazenia medzier medzi slovami. Za normálnych okolností sa ľubovoľný počet medzier v kóde HTML zobrazí na webovej stránke ako jeden. Výnimkou je prvok

, text umiestnený v tomto kontajneri sa vypíše so všetkými medzerami tak, ako bol naformátovaný používateľom.  Takže biely priestor simuluje prácu 
Ale na rozdiel od neho nemení písmo na monospace.

Stručná informácia

Označenia

PopisPríklad
<тип> Označuje typ hodnoty.<размер>
A && BHodnoty musia byť na výstupe v zadanom poradí.<размер> && <цвет>
A | BOznačuje, že z navrhovaných hodnôt musíte vybrať iba jednu hodnotu (A alebo B).normálne | malé čiapky
A || BKaždá hodnota môže byť použitá samostatne alebo spolu s inými v ľubovoľnom poradí.šírka || počítať
Hodnoty skupín.[ plodina || kríž ]
* Opakujte nula alebo viackrát.[,<время>]*
+ Opakujte jeden alebo viackrát.<число>+
? Zadaný typ, slovo alebo skupina je voliteľná.vložka?
(A, B)Opakujte aspoň A, ale nie viac ako B-krát.<радиус>{1,4}
# Opakujte jeden alebo viackrát oddelené čiarkami.<время>#
×

hodnoty

normálne Text v okne prehliadača sa zobrazuje ako zvyčajne, zalomenia riadkov sa nastavia automaticky. nowrap Medzery sa neberú do úvahy, zalomenia riadkov v kóde HTML sa ignorujú, všetok text sa zobrazuje na jednom riadku; zároveň pridávaním
zalomí text na nový riadok. pre Text je zobrazený s prihliadnutím na všetky medzery a spojovníky, ako ich pridal vývojár do HTML kódu. Ak je riadok príliš dlhý a nezmestí sa do okna prehliadača, pridá sa vodorovný posúvač. predriadok Medzery sa v texte nezohľadňujú; text sa automaticky presunie na ďalší riadok, ak sa nezmestí do určenej oblasti. pre-wrap Všetky medzery a zlomy sú v texte zachované, ak sa však šírka riadku nezmestí do zadanej oblasti, text sa automaticky zalomí na ďalší riadok.

Vplyv hodnôt na text je uvedený v tabuľke. 1.

Príklad

biely priestor

Príklad

Fermatova posledná veta
X n+ Y n= Z n
kde n je celé číslo > 2

Výsledok tohto príkladu je znázornený na obr. 1.

Ryža. 1. Použitie vlastnosti white-space

Objektový model

Objekt.style.whiteSpace

Poznámka

Prehliadač Internet Explorer až do verzie 7.0 vrátane nepodporuje hodnoty pre-line a pre-wrap. Pre