Nepochopil jsem, jestli na tom druhém řádku pro backgroud-color nechybí if/elseif, tak jsem si to ještě googlil jinde... a musím konstatovat, že to je teda strašlivě postižený způsob zápisu.. :D
Jo, je to takový polopythonismus... Neboli CSS s maďarským nářečím.
25. 6. 2025, 14:37 editováno autorem komentáře
Ono je to ve skutecnosti mnohem podobnejsi prikazu switch nez if, ale meli nejakou potrebu to nazvat if ¯\_(ツ)_/¯
Je to kvůli zpětné kompatibilitě. Je potřeba, aby pro CSS parser, který žádné podmínky nezná, to byly jen neznámé vlastnosti, hodnoty a funkce. (A syntaxe CSS má svá specifika, to je pravda…)
Na macOS (ale možná i na jiných OS) nemůže mít okno Chrome na šířku méně než ~490/500., takže aby uvedený příklad fungoval musí se místo 350 dát 500 :)
Jasne, takze dalsi smirovadlo, nacpu do stranky 100 ifu ... a pak si prectu vysledek ... A to i tam, kde maji js vypnutej.
To nechápu, to je zpracováno lokálním browserem, odeslat by se to muselo JS a to už by to JS mohl odeslat sám.
Nie staci len ak si tym ifom oifuje varianty fontov, alebo obrazkov pozadia a mas to na servery aj bez JS.
Na druhej strane v dnesnej dobe nemat zapnuty JS, znamena, ze nejde 99.9999999% internetu.
Jak ktere... :-) Ono ostatne i zde na rootu nektere funkcni veci bez javascriptu neprojdou. A nenacte se vam treba ani frontend Portalu Obcana, ci datovych schranek. Plus hromada dalsich drobnosti, treba ruzne videoprehravace... takze si nepustite treba ani zivy stream CT. A muzem tu takto pokracovat do vecera... ne, fakt to neni jen o tom, ze by se reklamy zablokovaly a jinak vse frcelo.
Mohl bys třeba na základě těch podmínek použít různé obrázky jako pozadí elementu a tím by se dalo dát vědět na server, jak se ta podmínka vyhodnotila.
Nicméně velikost obrazovky šlo takhle zjišťovat už přes média queries a to není žádná moc zajímavá informace a ani ty další podmínky mi nepřijdou, že by se jimi dalo zjišťovat něco zajímavého.
Až pokým neprídu custom CSS funkcie. Tie nám spolu s if
funkciou prinesú prakticky neobmedzené možnosti.
Muzes tim identifikovat konkretni browser. A ne typ, ale zcela konkretni browser na konkretnim hw konkretniho uzivatele. Hsts pro ten ucel mozna prestane v brzke dobe fungovat, tak je treba to necim nahradit ...
Sice se tim nektere veci v CSS zjednodussi, ale slozitost CSS vzroste. Uz to nebude deklarativni jazyk. Mam na to rozporuplny nazor, nejsem si jist jestli takove veci nenechat na JS. Ten clovek co to bude delat stejne uz bude muset vytvaret aplikacni logiku.
Stále je to deklarativní. Nebo tam vidíte nějakou práci se stavem?
Navíc je otázka, co přesně to přináší nového, co by nešlo (možná trochu komplikovaněji) napsat pomocí @media. Možná to přinese jen zjednodušený zápis.