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

GPUI Component: moderní Rust GUI komponenty pro cross-platform desktop aplikace

Různé
Komentáře: 0
GPUI Component je open-source Rust knihovna rozšiřující framework GPUI o více než 60 moderních, nativních a multiplatformních UI komponent. Staví na deklarativním přístupu, stateless renderování a jednoduchém API inspirovaném Reactem či Yew. Díky optimalizovanému výkonu, podpoře témat a flexibilním layoutům umožňuje rychlý vývoj desktopových aplikací, jako je například trading nástroj Longbridge Pro. Knihovna je licencována pod Apache 2.0 a dostupná na GitHubu.

Vitest 4.0 – nové vizuální testování, lepší debugging a stabilní Browser Mode

Nová verze Vitest 4.0 posouvá hranice testování webových aplikací. Přináší stabilní běh testů přímo v prohlížeči, podporu vizuálního regresního testování i chytřejší práci s lokátory a typováním. Vývojáři tak získávají robustnější, rychlejší a přehlednější nástroje pro zajištění kvality UI i logiky aplikací.