CSS Változók és Teljesítmény
Ahogy a weboldalad növekszik, a CSS fájlod is egyre hatalmasabb lesz. Ha egy 3000 soros CSS fájlban 50 különböző helyen használtad a céged fő kék színét (#2563eb), és a főnököd kitalálja, hogy mától zöld a logó, órákig fogsz keresgélni és cserélgetni. Erre a problémára nyújtanak elegáns megoldást a CSS Változók (Custom Properties).
Mik azok a CSS Változók?
A változók lehetővé teszik, hogy egy értéket (például egy színt, egy betűméretet vagy egy margó távolságot) elments egy név alá, és később bárhol a kódban csak erre a névre hivatkozz. Ha megváltoztatod az értéket a változóban, az az egész weboldalon azonnal frissül.
A :root szelektor és a var() függvény
A változókat általában a :root pszeudo-osztályban definiáljuk. A :root a HTML dokumentum legfelső szintjét jelenti (gyakorlatilag a <html> taget), így az itt megadott változók globálisak lesznek, azaz bárhol elérhetők.
A változók neve mindig két kötőjellel (--) kezdődik.
/* 1. Változók definiálása a gyökérben */
:root {
--fo-szin: #0f766e;
--szoveg-szin: #1e293b;
--hatter-szin: #ffffff;
--alap-padding: 20px;
}
/* 2. Változók használata a var() függvénnyel */
body {
background-color: var(--hatter-szin);
color: var(--szoveg-szin);
}
.gomb {
background-color: var(--fo-szin);
padding: var(--alap-padding);
}
A Sötét Mód (Dark Mode) titka
A CSS változók igazi szuperképessége a dinamikus témaváltás. Ha a felhasználó operációs rendszere sötét módra van állítva, egyetlen Media Query segítségével felülírhatjuk a változóinkat, és az egész weboldal azonnal sötétbe borul, anélkül, hogy újra kéne írnunk a gombok vagy a bekezdések CSS-ét.
/* Ha a felhasználó rendszere Sötét Módra van állítva */
@media (prefers-color-scheme: dark) {
:root {
--hatter-szin: #0f172a; /* Sötétkék/Fekete háttér */
--szoveg-szin: #f8fafc; /* Világos szöveg */
/* A --fo-szin maradhat ugyanaz! */
}
}
CSS Teljesítmény és SEO (Minifikálás)
A Google a betöltési sebességet (Core Web Vitals) kőkeményen méri. A CSS fájlod mérete kritikus tényező. Minél nagyobb a fájl, annál tovább tart a böngészőnek letölteni és értelmezni (ezt hívják Render-Blocking erőforrásnak).
Hogyan optimalizáld a CSS-t?
- Ne ismételd önmagad (DRY - Don't Repeat Yourself): Használj CSS változókat és közös osztályokat (utility classes). Ha 10 gombod van, ne írd le 10-szer a paddinget, csinálj egy
.btnosztályt. - Minifikálás (Minification): Amikor a weboldalad élesbe megy, a CSS fájlból el kell távolítani minden felesleges szóközt, entert és kommentet. Egy 100 KB-os CSS fájl minifikálva gyakran csak 20 KB lesz. Erre rengeteg ingyenes online eszköz létezik (pl. CSS Minifier).
- Kritikus CSS (Critical CSS): A legprofibb fejlesztők a weboldal legfelső, azonnal látható részének (Above the Fold) CSS kódját kiveszik a külső fájlból, és közvetlenül a HTML
<head>szekciójába teszik (Inline). Így a böngésző azonnal meg tudja jeleníteni a főoldalt, anélkül, hogy várnia kéne a külsőstyle.cssletöltésére.