Curs Web Development
Curs HTML
Curs CSS
Curs Javascript
Curs PHP
Curs Phyton
Curs SQL
Curs SEO

Stilizarea textului cu ajutorul CSS

Cu elementele de bază învățate deja, urmează să ne concentrăm asupra stilizării textului, unul dintre cele mai frecvente lucruri pe care le vom face în CSS.

Elemente de bază în stilizarea textului și a fonturilor

Știm deja că textul din interiorul unui element este prezentat în cutia de conținut a elementului. Textul începe în partea stângă sus a zonei de conținut (sau în dreapta în cazul RTL) și curge până termină spațiul alocat, după care coboară pe linia următoare și tot așa până ce tot textul și-a găsit loc în cutie.

Așadar, textul se comportă la fel ca o serie de elemente inline, fiind așezat pe linii adiacente care pot fi întrerupte doar prin utilizarea elementului care creează o rupere de linie - <br>.

Proprietățile cu ajutorul cărora stilizăm textul se împart în două categorii principale:

Rețineți că textul din interiorul unui element este tratat ca o singură entitate. Nu puteți selecta un fragment de text (o subsecțiune), decât dacă acel fragment este „învelit” într-un element care permite acest lucru - cum sunt span sau strong, sau cu ajutorul unui pseudo-element ca ::first-line (care selectează prima linie de text a unui element), sau alt pseudo-element ca ::selection, care permite evidențierea textului selectat cu ajutorul cursorului.

Fonturi

Cu ajutorul unui exemplu, vom vedea la lucru câteva dintre proprietățile aplicabile fonturilor.

🔧 Exemplu stilizare text

Color - Culoare

Proprietatea color definește culoarea conținutului elementului selectat (de obicei text).


  p {
    color: red;
  }

Această regulă va face ca textul paragrafului să aibă culoarea roșie.

Familii de fonturi - Font families

Pentru a seta un font anume vom folosi proprietatea font-family. Aceasta permite specificarea unui font sau a unei liste de fonturi, aplicabile doar dacă sunt disponibile în calculatorul de la care este accesat site-ul. În caz contrar, browserul va aplica un font implicit.


  p {
    font-family: Arial;
  }

Fonturi sigure pentru web - Web safe fonts

Există un număr limitat de fonturi disponibile în general, în mai toate sistemele și prin urmare acestea pot fi utilizate fără grijă.

Lista fonturilor sigure este actualizată pe măsură ce sistemele de operare evoluează și puteți găsi această listă online.

CSS Font Stack menține o listă a fonturilor sigure pentru web.

Fonturi implicite - Default fonts

CSS definește cinci nume generice pentru fonturi:

Aceste tipuri de fonturi sunt foarte generice, iar fontul generat atunci când sunt folosite depinde foarte mult și poate varia în funcție de browser și de sistemul de operare.

Liste de fonturi - Font stacks

Pentru că disponibilitatea unui anumit font este destul de incertă, este indicată utilizarea unei liste de fonturi separate prin virgulă, din care browserul va alege fontul disponibil:


  p {
    font-family: "Trebuchet MS", Verdana, sans-serif;
  }

Lista de mai sus începe cu primul font vizat, iar dacă acesta nu este disponibil, browserul trece la al doilea font și apoi la al treilea și tot așa. Lista este încheiată de un font generic, prin urmare browserul va alege orice font sans-serif disponibil pe sistemul respectiv.

Numele de fonturi care conțin mai mult de un cuvânt trebuie scrise între ghilimele.

Mărimea fontului - Font size

Cele mai comune unități de măsură utilizate pentru dimensionarea textului sunt:

O metodă bună în ceea ce privește dimensionarea textului este setarea dimensiunii fontului documentului (html) la 10px, astfel încât matematica ulterioară să fie mai simplă și gruparea dimensiunilor să fie ușor de gestionat.

📐 Font-size cu clamp()

Font style - Stilul fontului

Este utilizat pentru activarea/dezactivarea textului italic și are valorile:

Font weight - Grosimea fontului

Setează cât de gros va fi textul.

Text-transform - Transformarea textului

Permite transformarea fontului astfel:

Decorațiunile textului - text-decoration

Activează/dezactivează decorațiunile textului. Este foarte des utilizată pentru a elimina sublinierea implicită a linkurilor.

text-decoration acceptă mai multe valori simultan și este forma prescurtată pentru text-decoration-line, text-decoration-style și text-decoration-color. Puteți utiliza combinații care creează efecte interesante.

Text cu efecte de umbră - Text drop shadows

Puteți aplica efecte de umbră pe text cu ajutorul proprietății text-shadow:

text-shadow: 3px 4px 5px red;

Prima valoare reprezintă decalarea orizontală (stânga/dreapta) a umbrei față de poziția inițială a textului.

A doua valoare reprezintă decalarea verticală (sus/jos).

A treia valoare reprezintă dispersarea umbrei (blur). Culoarea poate fi orice valoare CSS validă.

Valorile pozitive deplasează umbra spre dreapta și în jos, dar pot fi utilizate și valori negative pentru a deplasa umbra spre stânga și în sus, de exemplu: -1px -1px.

🌫️ Exemplu text-shadow și transformări

Aranjarea (dispunerea) textului - Text layout

Alinierea textului - Text alignment

Proprietatea text-align este utilizată pentru a controla modul în care textul este aliniat în cutia de conținut în care se află.

Înălțimea liniei - Line height

Proprietate cu ajutorul căreia definim înălțimea fiecărei linii de text. Putem utiliza orice unitate de măsură, dar și o valoare fără unitate, care acționează ca un multiplicator. Este considerată cea mai bună opțiune. Dimensiunea fontului este înmulțită pentru a obține înălțimea liniei. Înălțimea liniei este în general cuprinsă între 1.5-2 (spațiu dublu).


  line-height: 1.5;

Spațiile dintre cuvinte și caractere - Letter and word spacing

Sunt folosite mai rar, în special pentru a îmbunătăți lizibilitatea unui font foarte dens și permit setarea distanței dintre litere și/sau cuvinte.


  p::first-line {
    letter-spacing: 2px;
    word-spacing: 4px;
  }

Proprietățile studiate până acum sunt printre cele mai des utilizate, dar există multe alte proprietăți pe care le puteți utiliza uneori:

Stilizarea fonturilor:

Alinierea textului:

📐 Exemplu aliniere și înălțime linie

Scrierea prescurtată a proprietăților fontului

Multe proprietăți ale fontului pot fi scrise într-o singură linie, într-o anumită ordine: font-style, font-variant, font-weight, font-stretch, font-size, line-height și font-family.

Dintre toate proprietățile de mai sus, doar font-size și font-family sunt obligatorii atunci când se utilizează forma prescurtată.

Proprietățile font-size și line-height trebuie separate de o linie oblică (/).


  font: italic normal bold normal 3em/1.5 Helvetica, Arial, sans-serif;

  font: 400 15px/1.4 "Open Sans", sans-serif;

  font: italic small-caps normal 13px/150% Arial, Helvetica, sans-serif;

Manevrarea direcției textului

În ultimii ani, CSS a evoluat foarte mult și în sensul unui suport mai bun pentru direcționalitatea diferită a conținutului, inclusiv de la dreapta la stânga, dar și de sus în jos (cum este în scrierea japoneză).

Aceste direcționalități diferite se numesc moduri de scriere.

Un mod de scriere în CSS se referă la modul în care curge textul - orizontal sau vertical. Proprietatea writing-mode ne permite să schimbăm modul de scriere.

Nu este necesar să schimbăm modul de scriere doar atunci când lucrăm într-o anumită limbă. Putem face acest lucru și în scop creativ, pentru a crea layout-uri mai interesante pentru utilizatori.


  h6 {
    writing-mode: vertical-rl;
  }
VERTICAL

Sunt un paragraf scurt.

Există trei valori posibile:

În realitate, proprietatea writing-mode setează direcția de afișare în pagină a întregului bloc (de sus în jos, de la dreapta la stânga etc.), iar acest lucru va influența modul de curgere a textului.

Practic, atunci când schimbăm modul de scriere, schimbăm și modul de afișare (direcția de afișare), din block în inline sau invers.

🧭 Exemplu writing-mode și font shorthand

🧠 Quiz - CSS Stilizarea Textului

Top