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

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.