Cu ajutorul fișierelor CSS (Cascading Style Sheets), ai control complet asupra designului și prezentării vizuale a oricărui site web. O abordare modernă și profesionistă presupune separarea strictă a conținutului (HTML) de aspect (CSS), păstrând structura paginii curată și evitând încărcarea etichetelor cu stiluri inline sau atribute inutile.
Pe măsură ce un proiect web crește în complexitate, fișierele de stil tind să devină stufoase, greu de întreținut și pline de reguli redundante. Pentru a menține codul lizibil, performant și ușor de depanat, iată cinci recomandări esențiale pentru scrierea unor stiluri CSS curate și eficiente.
1. Evită resetarea universală necontrolată
Deși resetarea marginilor și a spațierilor interioare este necesară pentru a asigura o redare uniformă în toate browserele, aplicarea directă a selectorului universal * poate avea un impact negativ asupra performanței de randare în documente mari:
Exemplu mai puțin recomandat:
* {
margin: 0;
padding: 0;
}
O abordare mai curată și mai controlată presupune resetarea explicită a elementelor de bloc și a etichetelor structurale care generează discrepanțe între browsere (un principiu similar soluțiilor consacrate de tip Reset CSS):
Exemplu recomandat:
html, body, div, dl, dt, dd, ul, h1, h2, h3, pre, form, label, fieldset, input, p, blockquote, th, td {
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset, img {
border: 0;
}
ul {
list-style: none;
}
2. Evită hack-urile CSS nestandardizate pentru versiuni vechi de Internet Explorer
Injectarea de caractere speciale sau reguli nestandardizate direct în fișierul principal CSS pentru a adresa particularități din Internet Explorer riscă să creeze incompatibilități viitoare în motoarele moderne de randare. Dacă ai de gestionat particularități pentru versiuni vechi (cum ar fi IE 6 sau IE 7), cea mai sigură metodă este izolarea stilurilor dedicate prin comentarii condiționate în antetul documentului HTML:
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="styles/ie-styles.css" />
<![endif]-->
În acest fel, codul tău CSS de bază rămâne curat, valid conform specificațiilor W3C și pregătit pentru viitor.
3. Folosește denumiri sugestive și semantice pentru clase
Alegerea unor nume intuitive pentru clasele și identificatorii CSS ușurează enorm mentenanța pe termen lung. În loc să utilizezi denumiri bazate pe atribute vizuale trecătoare (de exemplu, .text-rosu sau .chenar-stanga), orientează-te spre rolul funcțional sau componenta reprezentată (de exemplu, .notificare-eroare, .bara-navigare sau .articol-rezumat). Astfel, atunci când vei actualiza paleta de culori a site-ului, denumirile claselor vor rămâne logice și relevante.
4. Grupează selectorii care partajează aceleași proprietăți
Repetarea acelorași seturi de proprietăți pentru elemente diferite mărește dimensiunea fișierului și face modificările ulterioare anevoioase. Dacă mai multe elemente au aceleași caracteristici tipografice sau de layout, combină selectorii într-o singură declarație:
Greșit (cod redundant):
h1 {
font-family: Arial, Helvetica, sans-serif;
font-weight: normal;
}
h2 {
font-family: Arial, Helvetica, sans-serif;
font-weight: normal;
}
h3 {
font-family: Arial, Helvetica, sans-serif;
font-weight: normal;
}
Corect (cod optimizat):
h1, h2, h3 {
font-family: Arial, Helvetica, sans-serif;
font-weight: normal;
}
5. Folosește notațiile scurte (shorthand) pentru proprietăți
CSS oferă proprietăți prescurtate pentru declarații comune precum fonturi, margini, padding, fundaluri sau chenare. Utilizarea lor reduce semnificativ numărul de linii de cod și îmbunătățește viteza de încărcare a paginii:
Greșit (declarații lungi):
li {
font-family: Arial, Helvetica, sans-serif;
font-size: 1.2em;
line-height: 1.4em;
padding-top: 5px;
padding-bottom: 10px;
padding-left: 5px;
}
Corect (notație prescurtată):
li {
font: 1.2em/1.4em Arial, Helvetica, sans-serif;
padding: 5px 0 10px 5px;
}
Adoptarea acestor principii de bază te va ajuta să obții foi de stil compacte, ușor de citit și mult mai rapide la randare pe orice dispozitiv.