Text & Tipografie în CSS3: Ghid Tehnic și Fonturi Web
Peste 90% din informația de pe web este transmisă sub formă de text. CSS3 a revoluționat
tipografia digitală: de la fonturi web CSS și @font-face, până la text-shadow,
font-feature-settings, variable fonts, hyphens, word-break,
writing-mode, text-overflow și text-wrap: balance. Acest ghid CSS
explică cum să stilizezi textul pentru legibilitate, UX, accesibilitate și optimizare SEO pe site-uri moderne.
Tipografia CSS nu este doar despre alegerea unui font bun — este despre ritm, lizibilitate, contrast și
claritate. Prin CSS modern poți controla distanța dintre litere, lățimea liniilor, despărțirea silabelor,
trunchierea textului pe blocuri, accentuarea semnelor de punctuație și adaptarea textului pentru ecrane
mobile, desktop și citire accesibilă. Află cum să construiești un text elegant, funcțional și optimizat
pentru SEO, fără a sacrifica experiența utilizatorului.
text-shadow
Umbre de text și efecte vizuale de strălucire
Proprietatea text-shadow permite aplicarea uneia sau mai multor umbre direct pe literele unui
titlu sau paragraf. Sintaxa primește offset orizontal, offset vertical, rază de blur și culoarea umbrei (ex:
text-shadow: 2px 2px 4px rgba(0,0,0,0.3)).
Este utilizată frecvent pentru garantarea lizibilității textului plasat deasupra imaginilor de fundal
aglomerate sau pentru crearea de efecte stilistice precum litere în relief sau efecte de neon.
cod CSS3
/* Efect de neon cu umbre duble */
.titlu-neon {
color: #fff;
text-shadow:
0 0 5px #e8b339,
0 0 20px #d6472e;
}
/* Umbra discreta pentru lizibilitate */
.subtitlu-umbra {
text-shadow: 2px 2px 0 #e3d8bb;
}
rezultat vizual
Efect de umbră pe text în CSS3
@font-face & Web Fonts
Includerea fonturilor personalizate în site-uri web
Regula @font-face permite încărcarea de fișiere de fonturi (în formate moderne optimizate
precum WOFF2 sau WOFF) direct de pe propriul server web sau prin servicii CDN precum Google Fonts, oferind
identitate vizuală unică brandului tău.
Folosirea proprietății font-display: swap previne efectul de text nevăzut în timpul
încărcării (FOIT) și îmbunătățește scorul CLS și LCP.
word-break & overflow-wrap
Prevenirea ruperii layout-ului din cauza cuvintelor lungi
Cuvintele extrem de lungi, codurile hash sau adresele URL pot depăși lățimea containerului lor pe ecrane
mici de mobil. Cu overflow-wrap: break-word, cuvântul este rupt pe mai multe linii doar atunci
când depășește fizic cadrul.
Proprietatea -webkit-text-stroke adaugă un contur colorat în jurul fiecărui caracter.
Combinată cu o culoare de text transparentă (color: transparent), creează titluri decorative
"hollow" extrem de populare în designul modern.
Proprietatea hyphens: auto instruiește browserul să despartă cuvintele în silabe la capătul
fiecărui rând folosind linia de cratimă (în funcție de limba declarată în atributul HTML
lang="ro").
Despărțirea automată în silabe îmbunătățește considerabil aspectul blocurilor de text aliniate pe
ambele margini.
-webkit-line-clamp
Trunchierea textului pe un număr fix de rânduri
Tăierea blocurilor lungi de text după un număr fix de linii (ex: 2 sau 3 rânduri) și adăugarea automată a
punctelor de suspensie (...) este rezolvată nativ prin -webkit-line-clamp.
Acest text este foarte lung și conține multe detalii suplimentare, dar va fi tăiat exact după primele
două rânduri și va afișa elipsă la sfârșit.
Fonturi variabile
Grosime și lățime flexibilă dintr-un singur fișier
Fonturile variabile (Variable Fonts) permit ajustarea continuă a grosimii (weight), înclinării (slant) sau
lățimii (width) dintr-o singură resursă de font descărcată de pe server.
Proprietatea text-underline-offset controlează spațiul exact dintre text și linia sa de
subliniere, iar text-decoration-color și text-decoration-thickness permit
stilizarea liniilor fără hack-uri de border-bottom.
Proprietatea writing-mode schimba direcția de curgere a textului: vertical-rl (de
la dreapta la stânga) sau vertical-lr (de la stânga la dreapta), utilă pentru etichete de
margine sau antete de tabel.
Permite activarea caracteristicilor avansate OpenType din fonturi: ligaturi speciale ("liga"),
cifre tabelare cu lățime fixă pentru alinierea numerelor în tabele ("tnum") sau fracții formate
automat.
111.00 RON
999.00 RON (Cifre tabelare perfect aliniate)
::first-letter & ::first-line
Letrine editoriale și prima linie stilizată
Pseudo-elementul ::first-letter stilizează prima literă a unui paragraf (pentru efectul
editorial clasic de letrină), în timp ce ::first-line modifică automat primul rând de text din
paragraf.
Acest
paragraf folosește o letrină mare la începutul primului cuvânt pentru un aspect editorial distins.
font-synthesis
Sinteza automată a stilurilor fontului
Proprietatea font-synthesis decide dacă browserul poate sintetiza stiluri precum italic sau bold când fontul principal nu le are disponibile, ajutând la consistența tipografiei.
Proprietatea hyphens permite despărțirea cuvintelor la final de rând, ceea ce funcționează excelent pentru text lung într-o coloană îngustă sau într-un layout cu două coloane.
cod CSS3
.text-lung {
hyphens: auto;
}
rezultat vizual
Textul foarte lung poate fi despărțit automat la sfârșit de linie pentru un aspect mai curat.
text-wrap: balance
Împărțirea titlurilor pe linii echilibrate
text-wrap: balance ajusteză numărul de cuvinte dintr-un titlu sau text scurt astfel încât liniile să pară echilibrate și elegante pe mobile și desktop.
cod CSS3
.title {
text-wrap: balance;
}
rezultat vizual
Titlu echilibrat pe mai multe linii
text-overflow
Trunchierea elegantă a textului în blocuri fixe
text-overflow: ellipsis este ideal pentru categoriile scurte, nume de produse și liste de link-uri din componente compacte.
Proprietatea text-emphasis este utilă pentru texturi tipografice orientale, cu puncte sau simboluri de accent deasupra literelor și cu rol SEO de a sublinia text roșu.
cod CSS3
.kanji {
text-emphasis: circle #d6472e;
}
rezultat vizual
中文
tab-size
Controlul lățimii tab-urilor în preformatare
tab-size reglează spațiul creat de tab-ul din blocurile <pre> și <code>, important pentru prezentarea de coduri și snippets-uri.
cod CSS3
pre {
tab-size: 2;
}
rezultat vizual
if (a) {
return true;
}
user-select
Permite selectarea textului doar unde e nevoie
user-select stabilește dacă utilizatorul poate selecta textul. Este util în interfețe cu butoane, etichete, controale și module de UI unde unele zone trebuie să fie clicabile, dar nu selectabile. În exemplul de mai jos, textul din stânga poate fi marcat, iar textul din dreapta este intenționat ne-selectabil.
Alege acest text cu mouse-ul. user-select poate fi controlat.
Acest text nu poate fi selectat — este o zonă de interfață.
letter-spacing
Controlul distanței dintre litere
Proprietatea letter-spacing schimbă spațiul dintre caractere și poate fi folosită pentru titluri, etichete, logouri sau pentru a îmbunătăți lectura pe text scurt.