împachetare Css de cuvinte lungi. Cum să adăugați întreruperi de linie folosind proprietățile CSS

Acasă / Îngheață

Internetul este alcătuit din conținut, conținutul este format din cuvinte și cuvintele pot fi foarte, foarte lungi. Și, mai devreme sau mai târziu, webmaster-ul se confruntă cu problema decupării cu silabe a cuvintelor lungi. Această problemă este relevantă în special pentru design responsive și pentru blocuri mici de conținut. Deci, cum te descurci cu această problemă?

Cratimă

Prima soluție pentru separarea cuvintelor lungi este folosirea unei cratime.

Defisi ( -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; )

Suport browser: cratimele CSS sunt acceptate de aproape toate browserele moderne, cu excepția Chrome, Opera, Android. De asemenea, foarte des este introdusă o cratimă în locuri care sunt incorecte din punct de vedere gramatical.

Pauza de cuvânt

Wordbreak este o proprietate CSS care indică dacă liniile trebuie întrerupte în cuvinte.

Obriv-slova ( -ms-word-break: break-all; word-break: break-all; word-break: sparge-cuvânt; )

Compatibilitate cu browser: rupturile de cuvinte sunt acceptate în toate browserele, cu excepția Opera Mini și a versiunilor mai vechi de Opera.

Ambalaj de preaplin

Următoarea soluție este să folosiți o folie de preaplin.

Obertka-perepolneniya (înfășurare de cuvânt: cuvânt de pauză; înfășurare de preaplin: cuvânt de întrerupere; )

Suport browser: acceptat în aproape toate browserele. Notă: Unele browsere necesită utilizarea „word-wrap” în loc de „overflow-wrap”.

Elipsă

O altă opțiune este utilizarea elipselor.

Mnogotochiye ( overflow: ascuns; spatiu alb: nowrap; text-overflow: puncte suspensie; )

Suport browser: acceptat de toate browserele moderne.

Această metodă funcționează, dar este departe de a fi ideală.

Solutia finala: Utilizarea Overflow și Hyphen Wrapper.

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

Această soluție va permite unui browser care îl acceptă să insereze o cratimă, iar pentru browserele care nu o acceptă să introducă o întrerupere de linie.

Salutare tuturor și să începem. Să presupunem că avem următorul text:

Guvernul Emiratelor Arabe Unite și administrația concentrează în acest oraș toate cele mai noi tehnologii bazate pe ultimele realizări ale științei și tehnologiei, încercând să-l transforme într-un oraș al viitorului, parcă direct de pe ecranul unor science fiction. film. Aceste tehnologii includ polițiști robot, mașini robot și sistemul de transport Hyperloop, iar în viitorul apropiat va începe să funcționeze în Dubai un serviciu de taxi zburător automat. Și în pregătirea acestui eveniment, o aeronavă Volocopter electrică cu două locuri cu 18 rotoare, care va fi folosită ca taxi, a efectuat primul zbor în regim automat, scriu ei...

Aici avem un text cu care acum vom începe să lucrăm.

Și prima proprietate pe care o vom lua în considerare se numește word-break

ruptura de cuvinte: normal | păstrează-toate | rupe-totul

Suntem interesați în principal de două valori ale acestei proprietăți normale - valoarea implicită și break-all, cu ajutorul cărora stabilim că împachetarea cuvintelor se realizează caracter cu caracter. În ceea ce privește keep-all, această valoare este folosită pentru a încheia cuvintele în chineză, japoneză și coreeană.

P( ruptura de cuvinte: break-all;. )

Vă rugăm să rețineți că după utilizare al acestui stil tot textul nostru este întins la toată lățimea disponibilă, iar cratimele sunt realizate nu prin cuvinte, ci prin caractere. Această proprietate poate fi utilă atunci când avem un cuvânt foarte lung care nu se încadrează în lățimea specificată. Cu toate acestea, acest lucru creează un fel de inconvenient, deoarece absolut toate cuvintele sunt transferate caracter cu caracter, chiar și cele care se încadrează în lățimea dată.

Din fericire, există o proprietate similară care transferă numai cuvinte care nu se potrivesc în caractere. Se numește overflow-wrap:

P( overflow-wrap: break-word; )

și după aplicarea valorii de break-word, tot textul nostru este transferat cuvânt cu cuvânt, iar cuvintele care nu se încadrează în lățimea specificată sunt transferate caracter cu caracter. Putem spune că sarcina este finalizată! În plus față de valoarea cuvântului de ruptură, această proprietate acceptă:

overflow-wrap: normal | break-word | moşteni;

Acum să trecem la o proprietate CSS mai avansată pentru împachetarea cuvintelor în text.

Să luăm în considerare proprietatea white-space, cu care putem imita funcționarea etichetei pre fără a schimba textul în sine în monospace.

spatiu alb: normal | nowrap | pre | pre-linie | pre-împachetare | moşteni

În esență, folosind această proprietate, lucrăm doar cu spații din text. De exemplu, dacă aplicăm următorul stil textului nostru:

Spațiu alb: nowrap;

toate rupturile de linie vor fi ignorate și textul nostru va fi afișat ca o singură linie.

Spatiu alb: pre;

Dacă valoarea este pre, toate întreruperile de linie vor fi similare cu cele din codul sursă. În plus, dacă textul nu se încadrează în lățimea specificată, atunci nu va fi transferat. Dacă dorim să fie transferat, atunci trebuie să specificăm valoarea pre-linie.

Dacă vrem să luăm în considerare nu numai rupturile de rând cod sursă, dar și spații între cuvinte, atunci trebuie să specificați:

Spațiu alb: pre-înfășurare;

Acesta este, practic, tot ce am vrut să vă spun despre separarea cu silabe folosind CSS. Sper că acest articol ți-a fost de folos și vei folosi cunoștințele acumulate de mai multe ori.

Ei bine, îmi iau rămas bun de la tine. Va doresc succes si bafta! Pa!

Vlad Merjevici

Spre deosebire de text în tipărire, cratimele sunt rareori folosite pe o pagină web, deoarece nu suntem strict legați de formatul hârtiei. Site-urile pot fi vizualizate pe diferite monitoare, cu rezoluții diferite, în diferite sisteme de operareși browsere. Toate acestea dau naștere unei astfel de combinații de combinații încât este imposibil de prezis cum va arăta textul final pentru utilizator. Din această cauză, textul este de obicei aliniat la stânga, iar cratimele apar în cuvinte întregi. Dar totuși, separarea cuvintelor este necesară în unele cazuri, de exemplu, atunci când termeni chimici sau medicali lungi sunt utilizați în coloane înguste de o lățime dată, de dragul esteticii. În manualul HTML și CSS sau metode automate Nu sunt atât de multe cratime de adăugat, așa că le voi enumera pe toate.

Folosind o etichetă

Etichetă introdus în HTML5 și creează încadrare de cuvinte atunci când este necesar. În acele locuri în care, conform regulilor limbii ruse, este permisă scrierea cu silabe, introducem (exemplul 1). Dacă întregul cuvânt se încadrează în lățimea alocată, această etichetă nu se va manifesta în niciun fel și nici măcar nu vom ști despre prezența sa. Dacă cuvântul nu se potrivește, browserul se află în locația etichetei creează un transfer.

Exemplul 1. Tag

Transferuri

Unul clasa a XII-a visătorul Anzhelika, după ce a absolvit școala, a ales profesia de afaceri produs şofer culcat la pământ.

Rezultatul acestui exemplu este prezentat în Fig. 1.

Orez. 1. Text cu cratime

Transfer moale

Aplicație are un dezavantaj serios - este imposibil să înțelegem dacă este o cratimă în fața noastră sau un cuvânt separat pe o altă linie. Din această cauză, sensul propoziției poate fi pierdut și poate fi înțeles greșit. Similitarea trebuie făcută după regulile tipografiei și anume: adăugați o cratimă la sfârșitul rândului. Securizarea cu silabe se descurcă bine cu acest lucru în codul HTML există un caracter special - . Are același rol ca o etichetă - nu este vizibil în textul obișnuit și mută cuvântul pe o altă linie, în timp ce adaugă o cratimă (exemplul 2).

Exemplul 2: Transfer soft

Transferuri

Elevă în clasa a XI-a, Angelica, după ce a absolvit școala, a ales profesia de șofer de afaceri.

Rezultatul acestui exemplu este prezentat în Fig. 2. Observați cât de mult mai plăcut din punct de vedere estetic și mai clar arată textul în comparație cu figură. 1.

Orez. 2. Text cu cratime

proprietatea de rupere a cuvintelor

Pentru a automatiza procesul de creare a cratimelor, utilizați proprietatea word-break cu valoarea break-all (exemplul 3). Nu mai trebuie să adăugați niciun simbol sau etichetă la stilurile HTML, aveți grijă de tot.

Exemplul 3. Folosirea word-break

Transferuri

Angelica, în clasa a XI-a, a ales profesia de angajat de birou după absolvirea școlii.

Rezultatul acestui exemplu este prezentat în Fig. 3. Regulile pentru separarea textului cu silabe nu sunt luate în considerare în acest caz, astfel încât cuvintele pot fi separate cu silabe într-un mod foarte bizar.

Orez. 3. Text cu cratime

Dintre toate metodele enumerate, utilizarea „semi-manuală” dă cel mai bun rezultat - sunt respectate regulile limbii ruse, textul arată cel mai plăcut din punct de vedere estetic. Folosiți-l când există cuvinte lungi în text.

Proprietatea cratimelor

Și, în sfârșit, cea mai puternică și convenabilă proprietate pentru adăugare automată cratime - cratime. Acțiunea sa se bazează pe dicționarul de silabe integrat în browser, deci oferă cel mai bun rezultat. Suportat în IE10, Firefox, Android și iOS. Chrome și Opera nu acceptă. Pentru ca asta să funcționeze, pentru etichetă adăugați atributul lang cu valoarea ru (exemplul 4).

Exemplul 4: Utilizarea cratimelor

Transferuri

Angelica, în clasa a XI-a, a ales profesia de angajat de birou după absolvirea școlii.

Rezultatul acestui exemplu este prezentat în Fig. 4.

Orez. 4. Text cu cratime

Interzicerea transferurilor

Adesea apare sarcina opusă - interzicerea silabelor în locuri în care acestea sunt inacceptabile conform regulilor limbii. De exemplu, nu puteți separa unitățile de măsură dintr-un număr (10 ml), desemnarea unui an (54 î.Hr.), inițialele dintr-un nume de familie, nu puteți rupe abrevieri stabile (etc.), etc. Pentru a împiedica browserul să adauge cratime la spațiul spațial, acesta trebuie înlocuit cu un spațiu care nu se rupe (exemplul 5).

Exemplul 5: Utilizare

Transferuri

Lacul la coordonatele 70° 58′ 19″ N. w. 97° 24′ 5″ E. situat în regiunea Taimyr Dolgano-Nenets Teritoriul Krasnoyarsk

Rusia.

Proprietatea spațiu alb specifică modul de afișare a spațiilor dintre cuvinte. În circumstanțe normale, orice număr de spații din codul HTML apar ca unul singur pe o pagină web. Excepția este elementul

, textul plasat în acest container este scos cu toate spațiile, așa cum a fost formatat de utilizator.  Deci, spațiul alb simulează munca 
Dar, spre deosebire de acesta, nu schimbă fontul în monospace.

Informații scurte

Denumiri

DescriereExemplu
<тип> Indică tipul valorii.<размер>
A && BValorile trebuie să fie afișate în ordinea specificată.<размер> && <цвет>
A | BIndică faptul că trebuie să selectați o singură valoare dintre cele propuse (A sau B).normal | cu majuscule mici
A || BFiecare valoare poate fi folosită independent sau împreună cu altele în orice ordine.lățime || conta
Grupează valori.[ recolta || cruce]
* Repetați de zero sau de mai multe ori.[,<время>]*
+ Repetați una sau mai multe ori.<число>+
? Tipul, cuvântul sau grupul specificat este opțional.medalion?
(A, B)Repetați cel puțin A, dar nu mai mult de B ori.<радиус>{1,4}
# Repetați o dată sau de mai multe ori, separate prin virgule.<время>#
×

Valori

normal Textul din fereastra browserului este afișat ca de obicei, rupturile de rând sunt setate automat. nowrap Spațiile nu sunt luate în considerare, rupturile de linie din codul HTML sunt ignorate, tot textul este afișat pe o singură linie; totodată, adăugând
împachetează textul pe o nouă linie. pre Textul este afișat luând în considerare toate spațiile și cratimele, așa cum au fost adăugate de dezvoltator în codul HTML. Dacă linia este prea lungă și nu se potrivește în fereastra browserului, va fi adăugată o bară de defilare orizontală. pre-line Spațiile nu sunt luate în considerare în text, textul este mutat automat pe linia următoare dacă nu se încadrează în zona specificată. pre-wrap Toate spațiile și pauzele sunt păstrate în text, totuși, dacă lățimea liniei nu se încadrează în zona specificată, textul va fi înfășurat automat la următoarea linie.

Efectul valorilor asupra textului este prezentat în tabel. 1.

Exemplu

spatiu alb

Exemplu

Ultima teoremă a lui Fermat
X n+ Y n= Z n
unde n este un număr întreg > 2

Rezultatul acestui exemplu este prezentat în Fig. 1.

Orez. 1. Aplicarea proprietății spațiu alb

Model obiect

Obiect.stil.albSpaţiu

Nota

Browser Internet Explorer până la versiunea 7.0 inclusiv nu acceptă valorile pre-line și pre-wrap. Pentru