Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Fier
  • Alinierea textului în CSS: proprietatea text-align. Bazele CSS

Alinierea textului în CSS: proprietatea text-align. Bazele CSS

Fiecare designer de layout se confruntă în mod constant cu nevoia de a alinia conținutul într-un bloc: orizontal sau vertical. Există câteva articole bune pe acest subiect, dar toate oferă multe opțiuni interesante, dar puține practice, motiv pentru care trebuie să aloci timp suplimentar pentru a evidenția principalul lucru. Am decis să trimit aceste informații în formularul care îmi este convenabil pentru a nu le mai căuta pe google.

Alinierea blocurilor cu dimensiuni cunoscute

Cel mai simplu mod de a utiliza CSS este alinierea blocurilor care au o înălțime predeterminată (pentru alinierea verticală) sau lățime (pentru alinierea orizontală).

Alinierea cu căptușeală

Uneori nu puteți centra un element, ci îi puteți adăuga margini cu „ căptușeală".

De exemplu, aveți o imagine de 200 x 200 pixeli și doriți să o centrați într-un bloc de 240 x 300. Putem seta înălțimea și lățimea casetei exterioare = 200px și adăugați 20px în partea de sus și de jos și 50 fiecare în stânga și în dreapta .

.example-wrapper1 (fond: # 535E73; lățime: 200px; înălțime: 200px; umplutură: 20px 50px;)

Alinierea cutiilor poziționate absolut

Dacă blocul este setat la " poziție: absolută", apoi poate fi poziționat relativ la cel mai apropiat părinte cu" poziție: relativ ". Pentru a face acest lucru, toate proprietățile au nevoie de (" top","dreapta","fund","stânga„) atribuie aceeași valoare unității interioare, precum și „marjă: auto”.

* Există o nuanță: lățimea (înălțimea) blocului interior + valoarea stânga (dreapta, jos, sus) nu trebuie să depășească dimensiunea blocului părinte. Este mai sigur să setați proprietățile din stânga (dreapta, jos, sus) la 0 (zero).

.example-wrapper2 (poziție: relativă; înălțime: 250px; fundal: url (spațiu.jpg);) .cat-king (lățime: 200px; înălțime: 200px; poziție: absolut; sus: 0; stânga: 0; jos: 0; dreapta: 0; margine: automat; fundal: url (king.png);)

Aliniere orizontala

Aliniați cu „text-align: center”

Există o proprietate specială pentru alinierea textului într-un bloc " aliniere text". Când valoarea este setată" centru„fiecare linie de text va fi aliniată orizontal. Pentru textul cu mai multe linii, această soluție este rar folosită, mai des această opțiune poate fi găsită pentru alinierea intervalelor, link-urilor sau imaginilor.

Odată a trebuit să vin cu text pentru a arăta cum funcționează alinierea textului cu CSS, dar nu mi-a venit nimic interesant în minte. La început m-am hotărât să copiez undeva o cântă de creșă, dar mi-am amintit că acest lucru ar putea strica unicitatea articolului, iar dragii noștri cititori nu o vor putea găsi pe Google. Și apoi am decis să scriu acest paragraf aici - la urma urmei, punctul nu este cu el, dar punctul este în aliniere.

.example-text (text-align: center; padding: 10px; background: # FF90B8;)

Trebuie remarcat faptul că această proprietate va funcționa nu numai pentru text, ci și pentru orice elemente inline ("display: inline").

Dar acest text este aliniat la stânga, dar este în bloc, care este aliniat în centru față de înveliș.

.example-wrapper3 (text-align: center; fundal: # FF90B8;) .inline-text (afișare: inline-block; lățime: 40%; padding: 10px; text-align: stânga; fundal: # FFEfee;)

Alinierea casetelor cu marginile

Elementele bloc cu o lățime cunoscută sunt ușor aliniate pe orizontală dacă sunt setate la „margin-left: auto; margin-right: auto”. Se folosește de obicei notația prescurtată: „ marja: 0 auto„(orice valoare poate fi folosită în loc de zero). Dar această metodă nu va funcționa pentru alinierea verticală.

.lama-wrapper (înălțime: 200px; fundal: # F1BF88;) .lama1 (înălțime: 200px; lățime: 200px; fundal: url (lama.jpg); margine: 0 auto;)

Așa merită să aliniați toate blocurile acolo unde este posibil (unde nu este necesară poziționarea fixă ​​sau absolută) - este cel mai logic și adecvat. Deși pare evident, am văzut uneori exemple înspăimântătoare cu marje negative, așa că am decis să clarific.

Aliniere verticală

Există mult mai multe probleme cu alinierea verticală - aparent, acest lucru nu a fost prevăzut în CSS. Există mai multe modalități de a obține rezultatul dorit, dar nu sunt toate foarte frumoase.

Alinierea cu proprietatea line-height

În cazul în care există o singură linie în bloc, puteți obține alinierea verticală a acesteia prin aplicarea " inaltimea liniei"și setați-l la înălțimea dorită. Pentru a fi în siguranță, ar trebui să setați și" înălțime ", a cărei valoare va fi egală cu valoarea "line-height", deoarece aceasta din urmă nu este acceptată în toate browserele.

.example-wrapper4 (linie-înălțime: 100px; culoare: # DC09C0; fundal: # E5DAE1; înălțime: 100px; text-align: center;)

De asemenea, este posibil să se realizeze alinierea blocului cu mai multe linii. Pentru a face acest lucru, va trebui să utilizați un bloc suplimentar de înveliș și să setați înălțimea liniei la acesta. Blocul interior poate fi cu mai multe linii, dar este necesar „inline”. Trebuie să-i aplicați „vertical-align: middle”.

.example-wrapper5 (înălțimea liniei: 160px; înălțimea: 160px; dimensiunea fontului: 0; fundal: # FF9B00;) .example-wrapper5 .text1 (afișaj: bloc inline; dimensiunea fontului: 14px; înălțimea liniei: 1.5; aliniere verticală: mijloc; fundal: # FFFAF2; culoare: # FF9B00; aliniere text: centru;)

Blocul de ambalare trebuie să aibă setat „dimensiunea fontului: 0”. Dacă nu setați dimensiunea fontului la zero, browserul va adăuga câțiva pixeli suplimentari de la sine. De asemenea, va trebui să specificați dimensiunea fontului și înălțimea liniei pentru blocul interior, deoarece aceste proprietăți sunt moștenite de la părinte.

Alinierea verticală în tabele

proprietate " vertical-align"afectează și celulele tabelului. Cu valoarea" middle "setată, conținutul din interiorul celulei este centrat. Desigur, aspectul tabelului este considerat arhaic în zilele noastre, dar în cazuri excepționale îl puteți simula prin specificarea" afișare: tabel-celulă".

De obicei folosesc această opțiune pentru alinierea verticală. Mai jos este un exemplu de layout luat dintr-un proiect gata făcut. Interesantă este imaginea, care este centrată vertical în acest fel.

.one_product .img_wrapper (afișare: table-cell; înălțime: 169 px; vertical-align: middle; overflow: hidden; fundal: #fff; lățime: 255px;) .one_product img (max-height: 169px; max-width: 100) %; lățime minimă: 140 px; afișare: bloc; marjă: 0 automat;)

Trebuie reținut că, dacă un element are „float” altul decât „none”, atunci va fi în orice caz bloc (afișare: bloc) - atunci va trebui să utilizați un bloc suplimentar de înveliș.

Alinierea cu un element suplimentar în linie

Și pentru elementele inline puteți aplica " vertical-align: mijloc". În acest caz, toate elementele cu" display: inline„care sunt pe aceeași linie se vor alinia cu linia centrală comună.

Trebuie să creați un bloc auxiliar cu o înălțime egală cu înălțimea blocului părinte, apoi blocul dorit va fi centrat. Este convenabil să folosiți pseudo-elementele: înainte sau: după.

.example-wrapper6 (înălțime: 300px; text-align: center; fundal: # 70DAF1;) .pudge (afișare: inline-block; vertical-align: middle; fundal: url (pudge.png); culoare de fundal: # fff; lățime: 200 px; înălțime: 200 px;) .riki (afișare: bloc inline; înălțime: 100%; aliniere verticală: mijloc;)

Afișare: flexați și aliniați

Dacă nu vă pasă prea mult de utilizatorii Explorer 8 sau vă pasă atât de mult încât sunteți dispus să introduceți ceva javascript suplimentar de dragul lor, atunci puteți folosi „display: flex”. Cutiile flexibile fac o treabă grozavă în rezolvarea problemelor de aliniere și scrieți doar „margin: auto” pentru a centra conținutul în interior.

Până acum, această metodă nu mi-a venit practic, dar nu există restricții speciale pentru ea.

.example-wrapper7 (afișare: flex; înălțime: 300px; fundal: # AEB96A;) .example-wrapper7 img (marja: auto;)

Ei bine, asta este tot ce am vrut să scriu despre alinierea CSS. Acum centrarea conținutului nu va fi o problemă!

Text CSS reprezintă un set de proprietăți pentru formatarea conținutului text al paginilor web. Folosirea stilurilor CSS pentru a formata textul vă permite să dați elementelor HTML aspectul dorit, astfel încât etichetele HTML să poată fi utilizate numai în scopul lor - pentru a defini structura documentului.

Despre proprietățile textului adăugate la BOM CSS3- text-overflow, word-break, word-wrap, poate fi citit.

Formatarea textului în CSS

1. Alinierea orizontală a text-align

Proprietatea aliniază liniile de text dintr-un bloc în lățime în raport cu marginile acestuia. Se aplică numai elementelor de bloc, cum ar fi paragrafele. Mostenit.

Valori:
stânga Alinierea la stânga a elementului. Valoarea implicită pentru limbile care citesc de la stânga la dreapta.
dreapta Alinierea la dreapta a elementului.
centru Alinierea la centru a unui element controlează alinierea conținutului, nu elementele în sine. Centrează fiecare linie a textului elementului.
justifica Justificare la lățimea elementului. În textul justificat, ambele capete ale liniei se ghemuiesc pe marginile din stânga și din dreapta ale elementului părinte. Spațiile dintre cuvinte și litere sunt distribuite astfel încât lungimea tuturor liniilor să fie egală. Diferitele browsere pot crește atât distanța dintre cuvinte, cât și spațierea dintre litere.
iniţială
moşteni

Sintaxă

P (alinierea textului: stânga;) p (alinierea textului: dreapta;) p (alinierea textului: centru;) p (alinierea textului: justificarea;)
Orez. 1. Proprietatea text-align

2. Indentarea textului

Setează indentarea (ledge) pe prima linie a unui element, dând iluzia unui text structurat. Se aplică oricărui element bloc, valoarea implicită este 0. Dacă există o imagine pe prima linie a unui element bloc, aceasta se va deplasa cu restul textului. Mostenit.

Sintaxă

P (indentare text: 5px;) p (indentare text: 2%;)
Orez. 2. Proprietatea text-indent

3. Linie-înălțime

Orez. 3. Container pe rând

Proprietatea setează distanța dintre liniile de bază ale liniilor de text, definind valoarea cu care înălțimea blocului fiecărui element este mărită sau micșorată. Controlează spațierea între linii - spațiul suplimentar dintre liniile de deasupra și dedesubtul textului. Pentru a determina distanța dintre linii, trebuie să găsiți diferența dintre înălțimea liniei și dimensiunea fontului, împărțiți diferența la două și adăugați fiecare jumătate în partea de sus și de jos a zonei de conținut. Ia doar valori pozitive. Spația dintre linii standard este echivalentă cu 120%.

Dacă înălțimea și înălțimea liniei sunt egale, aliniază textul la înălțime. Mostenit.

Sintaxă

H1 (înălțimea liniei: 20px;) h1 (înălțimea liniei: 200%;) h1 (înălțimea liniei: 1,2;) h1 (înălțimea liniei: normal;)
Orez. 4. Un exemplu de afișare a diferitelor valori de spațiere între linii

4. Aliniere verticală vertical-align

Se aplică numai elementelor inline, imaginilor și câmpurilor de formular. Nu aliniază conținutul unui element bloc. Nu moștenit.

vertical-align
Valori:
de bază Aliniază linia de bază a unui element cu linia de bază a părintelui său, aliniind linia centrală a elementului cu linia centrală a părintelui.
sub Face un indice de element (similar cu eticheta ). Gradul de retrogradare a unui element poate varia în funcție de browserul utilizatorului.
super Face un element superscript (similar cu eticheta ). Cu toate acestea, valorile sup și super nu modifică dimensiunea fontului; în mod implicit, textul superscriptului și descendentului are aceeași dimensiune cu textul elementului părinte.
top Marginea superioară a elementului este aliniată cu marginea superioară a celui mai înalt element din linie.
text-top Partea de sus a elementului este aliniată cu partea de sus a fontului elementului părinte.
mijloc Linia de mijloc a unui element (de obicei o imagine) este aliniată cu o linie prin mijlocul elementului părinte.
fund Marginea de jos a elementului este aliniată cu marginea de jos a elementului cel mai de jos din linie.
text-de jos Partea de jos a elementului este aliniată cu partea de jos a fontului elementului părinte.
lungime Setează valoarea în unități de lungime prin deplasarea unui element la o distanță specificată.
% Nu permite setarea mijlocului, calculată ca parte a înălțimii liniei a elementului, nu a părintelui său, de exemplu. dacă setați alinierea verticală la 50% pentru un element cu înălțimea liniei de 20px, atunci linia de bază a elementului este ridicată cu 10px.
iniţială Setează valoarea proprietății la valoarea sa implicită.
moşteni Moștenește valoarea proprietății de la elementul părinte.

Html, există un parametru generic numit ALIGN. Poate fi aplicat cu diverse etichete html:

p | h1 | div | masa | capul | tbody | tfoot | tr | a | td

Valori posibile:

Centru- alinierea la centru
Stânga- aliniere pe partea stângă
Dreapta- pe dreapta
Justifica- dupa latime, stanga si dreapta. În acest caz, apariția unor decalaje mari între cuvinte.

Textul este justificat

Aspect în browser:

Titlul este centrat

Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat. Textul este justificat.

Conținutul acestui bloc este aliniat la dreapta

Rețineți că alinierea la stânga este automată. Prin urmare, nu este nevoie să specificați o astfel de valoare pentru parametrul de aliniere.

Până acum, tu și cu mine am aliniat elemente doar la stânga. Mai precis, nu am făcut acest lucru deloc, iar browserul însuși, implicit, aliniază elementele la stânga. Desigur, ar fi prea plictisitor să aliniezi totul la stânga. Prin urmare, există moduri diferite de a centra și alinia dreapta.

Alinierea elementelor este ceva ce trebuie doar să știi când. Primul lucru de făcut este să tastați cea mai simplă pagină.

A fost odată o etichetă

Nu te sfătuiesc să-l folosești acum, din cauza disponibilității unor metode mai moderne, dar nu pot decât să o menționez. Este foarte, foarte ușor de utilizat. Orice aveți nevoie pentru a alinia la centru, puneți în interiorul acestei etichete. De exemplu, aici aliniem titlul de nivel 1 în centru.



Puteți adăuga o imagine, de asemenea aliniată în centru, de asemenea, să trecem la următoarea linie folosind eticheta
:


Titlu de nivel 1, centrat




A fost o etichetă

care este deja depreciat, în plus, contrar așteptărilor tale de la etichete și pur si simplu nu exista. Să spunem aliniat la stânga în mod implicit, centrat folosind eticheta
, dar ce zici de dreapta?

Pentru a rezolva această problemă, dezvoltatorii au venit cu o modalitate universală de a alinia elementele. HTML... Modul este de a folosi așa-numitele containere, care sunt create folosind eticheta

... Adică tot ceea ce trebuie plasat într-un anumit container este plasat în interiorul etichetei
... Și deja această etichetă are un atribut " alinia", a cărui valoare determină poziția acestui container. Există trei valori:" stânga", "centru", "dreapta„. În mod implicit, merită” stânga„Totuși, cred că nu ești surprins.

Să scriem la fel și acum Cod HTML dar cu utilizarea containerelor, în plus, să nu aliniem la centru, ci la dreapta.





După cum puteți vedea, totul funcționează. Vă sfătuiesc să modificați și valorile atributelor" alinia„să se uite la alte tipuri de aliniere a containerelor.

Un alt mod de a alinia elementele HTML- acestea sunt tabele, dar acest subiect merită o discuție separată, așa că vom vorbi despre el într-unul din articolele următoare.

Până atunci, pagina ta ar trebui să arate astfel:






Titlu de nivel 1, centrat






Titlul de nivel 1 aliniat la dreapta






Salutări, Mihail Rusakov.

P.S. Dacă vrei să afli mai multe despre HTML, apoi urmăriți cursul meu gratuit cu un exemplu de creare a unui site web la HTML:

Alinierea textului determină aspectul și orientarea marginilor paragrafului și poate fi aliniată la stânga, aliniată la dreapta, centrată sau justificată. Masa 1 arată opțiunile pentru alinierea unui bloc de text.

Tab. 1. Modalități de aliniere a textului
Aliniere la stânga Aliniați la dreapta Alinierea la centru Justificați la lățime
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Cea mai comună opțiune este alinierea la stânga, unde partea stângă a textului este împinsă până la margine, în timp ce textul din dreapta rămâne zimțat. Alinierea la dreapta și alinierea la centru sunt utilizate în principal în titluri și subtitluri. Trebuie avut în vedere faptul că atunci când folosiți justificarea în text, pot apărea spații mari între cuvinte, ceea ce nu este foarte frumos.

O etichetă de paragraf este de obicei folosită pentru a seta alinierea textului

Cu atributul align, care definește metoda de aliniere. De asemenea, un bloc de text poate fi aliniat folosind eticheta

cu un atribut de aliniere similar, așa cum se arată în tabel. 2.

Tab. 2. Alinierea textului folosind parametrul de aliniere
cod HTML Descriere
Adaugă un nou paragraf de text, aliniat implicit la stânga. Mici indentări verticale sunt adăugate automat înainte și după paragraf.

Text

Alinierea la centru.

Text

Alinierea la stânga.

Text

Text

Justificarea lățimii.
Text Dezactivează împachetarea automată a liniilor, chiar dacă textul este mai larg decât fereastra browserului.
Text Permite browserului să facă întreruperi de linie în locația specificată, chiar dacă este utilizată o etichetă .
Text
Alinierea la centru.
Text
Alinierea la stânga.
Text
Alinierea la dreapta.
Text
Justificarea lățimii.

Alinierea la stânga este setată implicit, deci nu este nevoie să o specificați din nou. Deci align = „stânga” poate fi omis.

Diferența dintre paragraf (tag

) și eticheta

în faptul că la începutul și la sfârșitul paragrafului există o indentare verticală, ceea ce nu este cazul în cazul utilizării etichetei
.

Atributul de aliniere este destul de versatil și poate fi aplicat nu numai textului corpului, ci și titlurilor precum

... Exemplul 1 arată cum să setați alinierea într-un astfel de caz.

Exemplul 1. Alinierea textului

Alinierea textului

Cum să prinzi un leu?

Metoda forței brute

Împărțim deșertul într-un număr de secțiuni elementare, a căror dimensiune coincide cu dimensiunile totale ale leului, dar în același timp mai mici decât dimensiunea cuștii. Mai departe, prin simpla enumerare, determinăm zona în care se află leul, ceea ce duce automat la capturarea acestuia.

Metoda dihotomiei

Împărțim deșertul în două jumătăți. Într-o parte este un leu, în cealaltă nu este. Luați jumătatea leului și împărțiți-o din nou în jumătate. Repetăm ​​acest lucru până când leul este prins.

Rezultatul exemplului este prezentat în Fig. unu.

Orez. 1. Aliniați textul la dreapta și la stânga

În acest exemplu, titlul este aliniat la centrul ferestrei browser, paragraful selectat este aliniat la dreapta, iar corpul textului este aliniat la stânga.

Top articole similare