Přejít k navigační liště

Zdroják » Zprávičky » Jsou vody rozšiřování kaskádových stylů neprobádané?

Jsou vody rozšiřování kaskádových stylů neprobádané?

Daniel Glazman, předseda pracovní skupiny pro kaskádové styly na svém blog v příspěvku CssHackz předvedl velmi zajímavou ukázku. Zkoumal, zda by bylo možné implementovat podmíněné části stylopisů. Na Zdrojáku jsme se tím zabývali v článku Podmíněná pravidla v CSS .

Daniel šel ovšem ve svých úvahách dál. Nesnažil se totiž podmiňovat kaskádové styly v závislosti na použitém prohlížeči, ale v závislosti na jeho schopnostech (tudíž detekce musí proběhnout až na klientovi). A co je hlavní, pokusil se vytvořit funkční implementaci pomocí JavaScriptu. Ve výsledku tak měl následující předpis (samozřejmě nevalidní, nicméně sestavený tak, aby byl všemi dnešními prohlížeči korektně zpracovatelný):

@if-implemented { display: table-cell}
  p { background-color: green; color: yellow}
@else-implemented;
  p {background-color: red}
@endif-implemented;
  p { font-size: large}

Následně vytvořil javascriptovou knihovnu, která takový stylopis zpracuje a aplikuje dle provedených instrukcí. Což v tomto případě znamená v prohlížečích podporujících CSS2 vlasntost display:table-cell použije zelené pozadí, v ostatních červené. Jak dopadl, se můžete přesvědčit na výsledné ukázce.

Dan upozorňuje, že takový kód pravděpodobně nebudeme chtít použít na produkčním webu (řešení má svá omezení, např. používá AJAX, je tedy omezeno na jedno doménu a aplikace pravidel dle podmínek proběhne až v onload události stránky, design stránky tudíž krátce „problikne“). Přesto se jedná o velmi poučnou ukázku říkající, že oblast kaskádových stylů a jejich možností možná není vůbec prozkoumaná, jak by se mohlo zdát. Z hacků dneška totiž kolikrát vznikají řešení zítřka (a na webu to platí obzvlášť, projděte si jeho historii). Myslíte, že mají podobná řešení budoucnost?

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.