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?

Martin Hassman založil a vede magazín Zdroják. Absolvoval VŠCHT Praha. Byl u založení projektu CZilla (dnes už nepamatujete, nevadí). Stavěl mosty a metal cestu pro HTML5 (to tu ještě máme). V GUG.cz organizoval akce pro vývojáře (a jestli neumřeli, kódují si dodnes…).

Zatím nebyl přidán žádný komentář, buďte první!

Přidat komentář
Zdroj: https://www.zdrojak.cz/?p=566