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ší Nejvíce hlasů

Začal jako projekt studentů Matfyzu. Český BIRD dnes pomáhá řídit provoz na největších internetových uzlech

Internet drží pohromadě i díky místům, kde se propojují sítě poskytovatelů připojení, cloudů nebo videoslužeb. S předáváním informací o tom, kudy jsou jednotlivé sítě dostupné, jim ve Frankfurtu, Londýně i Amsterdamu pomáhá český BIRD. Začal jako studentský projekt, po první verzi z roku 2000 léta spíš dřímal a soustavný vývoj obnovil až CZ.NIC. Ve své úloze uspěl tak výrazně, že největší uzly nakonec začaly platit vývoj konkurenčního softwaru, aby nebyly závislé jen na něm.

WebSocket: Jak dostat webovou aplikaci do reálného času

Chat, živé notifikace, společná úprava dokumentu nebo průběžně aktualizované kurzy. Uživatelé dnes čekají, že se webová aplikace změní ve chvíli, kdy se změní data, a ne až po stisknutí klávesy F5. Protokol WebSocket je nejrozšířenější způsob, jak mezi prohlížečem a serverem vytvořit trvalý obousměrný kanál. V článku se podíváme, jak funguje pod kapotou, jak ho použít v prohlížeči i na serveru a na co si dát pozor při nasazení do produkce.

Zahoďte knihovny: dropdowny, tooltipy a přechody stránek jen s HTML a CSS

Rozbalovací menu, tooltip, modální okno a plynulý přechod mezi stránkami. Ještě nedávno čtyři důvody, proč do projektu přidat několik knihoven a desítky kilobajtů JavaScriptu. V roce 2026 už to všechno zvládne prohlížeč sám. Ukážeme si, jak na to s Popover API, CSS anchor positioningem a View Transitions, a také kde mají své limity.