Tento člán je pouze spekulativní, píšu ho, abych si utřídil myšlenky a rozvedl jeden možná úplně blbý nápad.
Jak tak pročítám weblůžky narazil jsem na dva články: What I’m missing in CSS a Parametrizované CSS. A uvědomil jsem si, že podpoře lepšího psaní CSS, nebo spíš jeho použitelnosti a usnadnění práce kodérů, se moc pozornosti nevěnuje.
Rozhodl jsem se, že bych mohl napsat vlastní preprocesor pro asp.net, který rozšíří syntaxi CSS o některé nové možnosti, ale zůstane zpětně kompatibilní s lexikálními pravidly CSS. Preprocesor by měl také umožňovat komprimaci stylopisu, jak textovou, tak GZip. Měl by umět slučovat importované stylopisy a snížit tak počet http požadavků. Dále cachování a další nezbytnosti. :)
Proměnné
Prvním vylepšením CSSX jsou proměnné, které se definují na začátku
dokumentu (kvůli lepší přehlednosti). Deklarace proměnné začíná
zavináčovým pravidlem @var následuje název proměnné
začínající na znak dolaru, např. $firemni-modra následuje
dvojtečka a přiřazená hodnota. Deklaraci uzavírá středník. V praxi to
může vypadat třeba následovně:
/* definice proměnných */
@var $firemni-modra: #2465B7;
@var $firemni-zelena: #A0B424;
a{color:$firemni-modra;}
a:hover{color:$firemni-zelena;}
/* další pravidla… */
V syntaxi využívám lexikální pravidla CSS, např. to, že neznámá zavináčová pravidla jsou ignorována až k následujícímu středníku nebo se ignoruje následující blok uzavřený ve složených závorkách.
Podmínky
Podmínky slouží k definování podmíněného bloku pravidel. Podmínky
se definují pomocí zavináčového pravidla @if následovaného
symbolem a blokem s definicemi:
@if IE6 {
/* pravidla pouze pro IE6 */
}
@if BLUE {
/* pravidla pro pozadavek style.cssx?symbols=blue */
}
Symboly jsou definovány jednak pomocí „browser caps“ z asp.net a
druhak pomocí GET parametru symbols. Podmínky jsou proto vhodné
pro validní hackování stylopisu pro určité prohlížeče nebo pro
skinování. Užití určitě může být povícero.
Pokud máte další nápady na rozšíření nebo vylepšení mých návrhů, klidně to písněte do komentářů, diskusi se nebráním. :)











Komentáře
Arcao
21.46 - 18. ledna 2008 | #
gius
23.12 - 18. ledna 2008 | #
Michal
12.02 - 19. ledna 2008 | #
Lukáš Chadraba
13.43 - 19. ledna 2008 | #
Místo pro tvůj názor