CSS Media Queries Level 4

Lukáš Janeček — 1. Červen 2017
Prohlížení webu je něčím, co již dávno není omezené na pouze obrazovky osobních počítačů. Paleta zařízení schopných vykreslovat web se rok od roku rozšiřuje o nové technologie, a web developeři a designeři na ně musí reagovat.

Prohlížení webu je něčím, co již dávno není omezené na pouze obrazovky osobních počítačů. Paleta zařízení schopných vykreslovat web se rok od roku rozšiřuje o nové technologie, a web developeři a designeři na ně musí reagovat. Pokud jste někdy přišli do styku s webem, zřejmě jste slyšeli pojem CSS, neboli kaskádové styly. Ty jsou hlavním prostředkem, kterým je určeno, jak webová stránka či aplikace vypadá. A tak musí reagovat na nezastavující se vývoj v oblasti zobrazovacích zařízení.

Slibnou novinkou v této oblasti jsou CSS Media Queries Level 4, které se blíží svému schválení jako Candidate Recommendation W3C (World Wide Web Consortium), neboli fáze, kdy návrh je považován za technicky přijatelný a lze začíst s jeho ranými implementacemi a sběrem zkušeností „v terénu“.

Pokud jste někdy „přičichli“ k tvorbě moderních webových stránek, zřejmě si říkáte, že jste pojem media queries již někdy slyšeli, a že to přeci není žádná novinka. Částečně máte pravdu, media queries jsou něčím, co je součástí vývoje již dlouhou dobu, a jde o „jádro pudla“ při tvorbě rezponzivních prezentací. Co tedy Level 4 přináší nového?

Minoritní novinkou je nová syntax, neboli způsob zápisu kódu, který ulehčí práci vývojářům. Odpadne nutnost komplikovaně spojovat, kdy se mají jednotlivé media queries aplikovat, a to díky přidání relačních operátorů a rozsahu, neboli hezky česky řečeno, znamének větší a menší. Podobně je součástí návrhu zrušení nutnosti vnořovat podmínky a nahrazení tohoto systému prvky běžné boolovské logiky. Tato novinka povede k mnohem snadněji čitelnějšímu a snáze udržovatelnému kódu.

Inovativní Media Queries Level 4

Hlavní novinkou Media Queries Level 4 je ovšem řešení problému se stále se rozrůstající nabídkou zobrazovacích zařízení. Současné rozdělení zařízení podporované v media queries (viz následující tabulka) totiž pochází z dob, kdy věci jako tablety ovládané prsty nebo ovladač od herní konzole byly ve spojení s webem něčím nepředstavitelným.

 screen

 handheld

 tty

 print

 tv

 braille

 speech

 projection

 embossed

 

Schválně si pokuste na chvíli představit, pod jakou z těchto kategorii by spadala zařízení v posledním řádku. Jak zjistíte, není to tak úplně jednoduché, a řada věcí se může i překrývat, což už samo o sobě je značný prohřešek proti specifikaci, protože prohlížeč by se vždy měl hlásit jenom jako jeden typ zařízení. Ale i když budeme předpokládat, že tato specifikace bude porušena, narazíme na problém, že vlastně nevíme, podle čeho se bude web zobrazovat.

V současnosti se tento problém „řeší“ tím, že většina zařízení neměla jinou možnost, než se hlásit jako „screen“ nebo „print“ (čímž je celé rozdělení zcela zbytečné), a spoléhá se v podstatě pouze na velikost obrazovky. Ovšem i tento přístup přináší určité problémy, kdy například notebookům s malou obrazovkou je zbytečně předáno zobrazení určené pro tablet, a stále větší tablety se potýkají s tím, že prstem není snadné kliknout na přesné místo. A právě řešení tohoto nešvaru slibují přinést Media Queries Level 4 a jejich Media Features.

Media Features

Media Features mají v aktuální podobě návrhu několik nových parametrů. Mezi ty hlavní, které nejvíce určují, o jaký typ média se jedná, jsou „pointer“, „hover“, „update“, „overflow-block“ a „scripting“, které odpovídají následujícím otázkám ohledně daného typu zobrazení:

Pointer – jak přesný je ukazatel?

Hover – jde pomocí ukazatele najet na prvek bez kliknutí?

Update – jak rychle se na aktualizuje obsah?

Overflow-block – jak se obsah chová pokud je delší, než výška zobrazení?

Scripting – podporuje zobrazení skripty?

Nyní se vrátíme k obrázku výše v článku, a podíváme se, jak některá z těchto zařízení (a některá další běžná) odpovídají těmto parametrům:

 

 pointer

 hover

 update

 overflow-block

 scripting

 Počítač

 přesný

 ano

 rychlý

 posuvník

 ano

 Telefon/Tablet

 nepřesný

 ne

 rychlý

 posuvník

 ano

 Wii

 nepřesný

 ano

 rychlý

 posuvník

 ano

 TV

 žádný

 ne

 rychlý

 posuvník

 ano

 Tiskárna

 žádný

 ne

 žádný

 další stránka

 pouze jednou

 E-čtečka

 žádný

 ne

 pomalý

 další stránka

 ano

 

Z porovnání lze vidět, že Media Features přináší mnohem granulovanější a přesnější stylizaci webů podle zařízení, než je dnes používaná šířka obrazovky. Například je možné pro tablety připravit mnohem větší tlačítka, na které půjde pomocí (oproti myši nepřesnému) prstu snáze kliknout, a není zapotřebí jim definovat vzhled při najetí, protože tato situace nemůže nikdy nastat. Nebo je možné lépe rozlišit mezi tiskárnou a čtečkou, a zobrazení obsahu podle toho upravit.

Ale to není všechno

Součástí návrhu pro Level 4 jsou i další parametry, z nichž nejvíce zajímavým je „light-level“, který slibuje schopnost stránky reagovat na světelné podmínky v okolí zařízení (pokud zařízení podporuje snímání světla, pochopitelně). Každý se zřejmě někdy setkal s tím, jak je čtení webu na telefonu za jasného dne komplikované. Pomocí parametru „light-level“ by tak bylo možné čtenáři předložit více kontrastní verzi stránky, nebo upravit barvy pro lepší čitelnost.

Jak vidíte, CSS Media Queries Level 4 mají potenciál přinést zásadní změnu v tom, jak probíhá tvorba webů pro stále rozšiřující se paletu zařízení. Před reálným posunutím do stavu Doporučení, které se většina hlavních prohlížečů snaží dodržovat, a jejich samotnou implementací, je však ještě dlouhá cesta.

Lukáš Janeček
Kodér

Lukáš vás naučí dělat správně responzivní projekty, využívat nejlepší technologie a nástroje a vysvětlí vám, co je při tvorbě projektů pro různá zařízení nejdůležitější. 

Chcete vědět více?
Ozvěte se nám na info@newlogic.cz

Přihlašte se
k našemu newsletteru.

Děkujeme, nyní jste přihlášení k newsletteru!
Jejda, něco se nezdařilo, možná už je váš email přihlášený
Obchodní oddělení+420 776 872 777
Kontaktní e-mailinfo@newlogic.cz