Ťažko povedať na ktorú stranu sa prikláňam ja. Problém je totiž v spätnej kompatibilite - CSS3 premenné sa totiž v non-CSS3 zariadeniach nebudú nastavovať. Staré zariadenia totiž budú ignorovať nie len at pravidlo @variables, ale aj samotné použitie var premenných (background: var(someVariable);). Ako potom budú vyzerať stránky?
Na druhej strane CSS premenné sú veľmi užitočné práve kvôli tomu DRY princípu.
Ako z toho von? Sú 2 možné riešenia:
1. Zmena spôsobu písania CSS - nastavenie vlastnosti len raz:
selector1, selector2, ...{background: #FFF none;}
+nepotrebujeme CSS premenné
-rozhodenie selektorov, ťažšie na vyznanie sa v CSS
-zmena vlastností časti selektorov sa nedeje prepísaním vlastnosti, ale odstránením selektorov s pred jednej zátvorky a pripísanie k druhej...
2. CSS pre-processing. - píšem si súbor s CSS premennými, ale ten je pred použitím stránky prehnaný parserom a tak stránka dostane klasický CSS súbor
+využívam výhody CSS premenných
-CSS súbor sa musí pred použitím spracovať
Skončil som pri druhej možnosti. Samotný parser má v PHP do 30 riadkov, zároveň odstraňuje zbytočné znaky a komentáre, ktoré sú pre spracovanie zariadenach zbytočné, prenáša sa menej bytov.
Výsledok? CSS premenné v špecifikácii alebo ich podporu v zariadeniach vlastne nepotrebujem.
Martin Hassman ex-biochemik, umělecký programátor a publicista. Spoluzakladatel CZilly, zakladatel Zdrojáku, správce HTML5.cz, organizátor hackathonů, čekovacích muzejních nocí aj. akcí.
Přečteno 24 283×
Přečteno 23 755×
Přečteno 20 597×
Přečteno 19 729×
Přečteno 19 696×