Barion Pixel
Ez itt a lifelong learning

Sosem tudhatsz eleget!

Blog

Segédlet

Kódolj okosabban – css változók

2021. május 25. | Bognár Péter

# # # # #

Trendek jönnek, trendek mennek, de a css nem megy sehova – a Lépcsőzetes stíluslapok (mert az a polgári neve) használata kikerülhetetlen, ha egy kicsit komolyabban is gondoljuk, hogy saját designt szeretnénk megjeleníteni egy honlapon, és nem elégszünk meg a WordPress sablonok gyári beállításaival. Még olyan, a begépelős kódolástól nagyon távol álló rendszerekben, mint a Divi is akad mód, hogy a saját egyéni css kódunkkal kiigazítsuk a weboldalak fazonját. Lényeg a lényeg: a css ismerete elengedhetetlen.

Szerencsére mindig akad valami újdonság, amivel pofásabbá, látványosabbá, vagy csak egyszerűen áramvonalasabbá tehetjük a kódunkat. Mivel a css nem központilag, nagy főverziókban frissül, hanem a apránként, kvázi javaslatként  vezeti be a W3 Consortium az újításokat (amiket aztán a böngészők kell, hogy használhatóvá tegyenek), kicsit komplikáltabb kérdés, hogy az egyszeri webdesigner mikor kezdheti el használni az egyes újdonságokat. Az általános szabály, hogy érdemes kivárni pár évet, de jó barátunk a Can I Use? című weboldal, ahol elég részletes választ kaphatunk az ilyen jellegű kérdéseinkre.

Az egyik ilyen remek fejlesztés, ami mostanra már lényegében minden böngészőben (95%) a rendelkezésünkre áll, a css változók használata. 

Ahogy a neve is mondja, ez a fogás annyiból áll, hogy a kódunk különböző szintjein meghatározhatunk egy-egy változót, azaz nevet adhatunk egy értéknek, és a továbbiakban már elég csak ezzel a névvel hivatkozni rá. Ez a megoldás egyrészt lecsökkentheti a gépelési és keresgélési időt, mondjuk a színkódok használatakor, de ami még fontosabb, hogy rugalmasabbá, módosíthatóbbá teszi a kódunkat. Micsoda fejfájás lehet, ha ki kell cserélnünk egy színt az egész designban – jöhet a find&replace, meg a reménykedés, hogy nem siklottunk el valami felett. Lényegesen egyszerűbb, ha csak a változó meghatározásánál kell átírni pl. a --primary_color, --secondary_color színét, és máris rendben vagyunk. További előnye, hogy jóval átláthatóbbá teszi a kódot, hiszen a design szempontjából fontos elemek érthető szavak formájában jelennek meg.

Hogyan használjuk? 

A változókat két helyen is definiálhatjuk: egyrészt a kód elejére elhelyezhetjük őket egy :root osztály alá, ebben az esetben valódi, globálisan érvényes változókat kapunk. 

:root{ 
  --my-custom-color: green;
}

Definiálhatjuk azonban őket a különböző osztályokon belül is, ilyenkor, mint minden css tulajdonság, a változó arra az osztályra és az alárendelt elemekre lesz érvényes.

.page-header--compact {
    --padding-start: 1.5rem;
    --padding-block: 1rem;
}

Formailag a változó nevét — előzi meg, a név szóközt nem tartalmazhat, és figyeljünk rá, hogy megkülönbözteti a kis- és nagybetűket.  Érdemes alaposan meggondolni, minek nevezed el a változóidat: egyrészt itt is alapszabály, hogy gondolj arra, hogy esetleg más is bele kell, hogy egyszer nyúljon a művedbe, a legbiztosabb, ha angol nevet adsz a “gyerekeidnek”. A másik dolog, amire érdemes felkészülni, az értékek változtathatósága, pl. ha a fehár hátteret --white névre kereszteled, kicsit hülyén érzed majd magad, ha be kell vezetned egy sötét módot, és átállítod a --white értékét sötétszürkére.   

Használatkor a var()funkciót kell használnunk, a zárójelbe a változó neve kerül, ez a kódba elhelyezve a változó által képviselt értéket helyettesíti, bármi is legyen az. 

A legtöbb magyarázatban (ahogy nálam is) a színsémák példáján keresztül mutatják be a változók működését, mint pl. a W3Schools szócikke is:

:root {
  --blue: #1e90ff;
  --white: #ffffff;
}

body { background-color: var(--blue); }

h2 { border-bottom: 2px solid var(--blue); }

.container {
  color: var(--blue);
  background-color: var(--white);
  padding: 15px;
}

button {
  background-color: var(--white);
  color: var(--blue);
  border: 1px solid var(--blue);
  padding: 5px;
}

Ha 100%-ra biztonságos kódot akarsz írni, elhelyezhetsz fallback, azaz tartalék értékeket is a változók mellé. (Bár ezzel éppen, hogy többet kell gépelned…)

color: var(--primary-color, #222);

A helyzet persze az, hogy a színek állítgatásánál sokkal szélesebb körben használhatóak a változók. Ahmad Shadeed egy remek, hosszú cikkben rengeteg izgalmas példát hoz fel a használatukra, Ziga Petek példakódjában pedig egy reszponzív layoutot vázol fel úgy, hogy a töréspont alatt csak a változókat definiálja újra.

A változók használata kifejezetten kreatív feladat, éppen ezért érdemes nem csak eltanulni néhány jó fogást a nagyoktól, de a kódod és a design megtervezésekor mindig elgondolkodni rajta, nem lehet-e vajon egy változó bevezetésével elegánsabbá, átláthatóbbá tenni a végeredményt.

Iratkozz fel YouTube csatornákra!

blog

Virtuális asszisztens legyél vagy webdesigner?

Virtuális asszisztens legyél vagy webdesigner?

2024. február 01.

Mindkettő fantasztikus lehetőség arra, hogy elhagyd a hagyományos kereteket, mint szoros, rugalmatlan munkaidő, helyhez kötöttség vagy akár a bérplafon. Egy ponton találkozik is a két munkakör, ahol a grafikai munka már az asszisztenciába hajlik – designerként is végezhetsz weboldal adminisztrációt, közösségi média tartalom készítést vagy felügyeletet és virtuális asszisztensként is sokszor találkozni már-már tervezői munkába […]

Tovább a cikkre
Secured By miniOrange