TakéRWD, responsive design, responzivní webPokročilý
Definice
Responzivní design je způsob navrhování a kódování webového rozhraní, které se přizpůsobuje velikosti obrazovky, hustotě pixelů, způsobu ovládání i možnostem prohlížeče. Místo samostatných verzí webu používá pružné rozvržení, CSS pravidla, responzivní média a testování na různých šířkách viewportu bez ztráty použitelnosti.
Proč jeden layout nestačí
Responzivní design řeší situaci, kdy stejný obsah používá člověk na telefonu v tramvaji, na notebooku u stolu i na velkém monitoru. Pevná šířka stránky v takovém prostředí selhává: na malém displeji nutí posouvat do stran, na velkém nechává prázdné plochy nebo nepřirozeně dlouhé řádky.
Základní myšlenka není zmenšit hotový desktopový návrh. Smyslem je navrhnout rozhraní jako systém, který se umí přeskládat. Sloupce se mohou změnit na jednu osu, navigace může přejít do kompaktnější podoby, obrázky mohou dostat menší zdroj a mezery se mohou řídit dostupným místem.
Breakpoints nejsou seznam zařízení
Breakpoint je hranice, při které se změní pravidla rozvržení. Chybný přístup je psát pravidla pro konkrétní modely telefonů. Modelů je příliš mnoho a viewport ovlivňuje i orientace displeje, zoom, lišty prohlížeče nebo režim rozdělené obrazovky.
Lepší praxe vychází z obsahu. Návrhář nebo vývojář sleduje, kdy se karta produktu začne mačkat, kdy se tabulka stane nečitelnou nebo kdy je navigace příliš široká. Teprve v takovém místě má smysl přidat media query, například @media (min-width: 48rem).
Pružné rozvržení místo pevného plátna
Moderní CSS poskytuje pro responzivní design několik vrstev. Relativní jednotky jako %, rem, vw nebo funkce clamp() pomáhají škálovat mezery a typografii. Flexbox se hodí pro řádky, lišty a prvky s neznámou šířkou. CSS Grid je silný u složitějších mřížek, protože umí kombinovat pevné, pružné i automaticky dopočítané sloupce.
Responzivní design se netýká jen šířky. Důležitá je také výška obrazovky, jemnost ukazatele, dotykové ovládání, orientace zařízení a dostupná datová propustnost. Tlačítko, které je pohodlné myší, může být prstem příliš malé. Hover efekt, který funguje na desktopu, nemusí mít na telefonu jasnou náhradu.
Obrázky a výkon rozhodují o použitelnosti
Responzivní obrázky brání tomu, aby telefon stahoval stejný velký soubor jako monitor s vysokým rozlišením. Atributy srcset a sizes dávají prohlížeči informace, ze kterých vybere vhodnou variantu. Prvek picture přidává možnost změnit ořez nebo formát podle kontextu.
Výkon je součást návrhu, ne dodatečná optimalizace. Přetížená stránka s pěknými breakpointy může být na mobilní síti stále špatně použitelná. Responzivní design proto souvisí s prioritou obsahu, lazy loadingem, velikostí CSS a s měřením po spuštění, například v návaznosti na vyhodnocování úspěchu webové aplikace.
Responzivní design a přístupnost
Přístupný responzivní web nespoléhá na přesné pixely ani na to, že uživatel drží zařízení „správně“. Obsah musí zůstat čitelný při zvětšení textu, formuláře musí být ovladatelné klávesnicí a pořadí prvků v DOM by mělo odpovídat logickému čtení. Vizuální přeskupení přes CSS nesmí vytvořit chaos pro čtečky obrazovky.
Příklady z praxe
Produktová mřížka v e-shopu
E-shop zobrazí na telefonu produkty pod sebou, takže karta má dost místa pro obrázek, cenu i tlačítko. Od šířky 48rem se stejný seznam změní na tři sloupce. Výsledek je jeden HTML výpis bez oddělené mobilní stránky.
.products { display: grid; gap: 1rem; grid-template-columns: 1fr; } @media (min-width: 48rem) { .products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }Hlavní obrázek bez zbytečného stahování
Landing page používá úzký ořez úvodní fotografie na telefonu a široký ořez na desktopu. Prohlížeč nestahuje zbytečně velký desktopový obrázek do mobilu. Stránka se načte rychleji a hlavní motiv zůstane srozumitelný v obou rozvrženích.
<picture> <source media="(min-width: 60rem)" srcset="hero-wide.webp"> <img src="hero-mobile.webp" alt="Nová kolekce batohů" loading="lazy"> </picture>
Časté omyly
- MýtusStačí udělat mobilní verzi a desktopovou verzi.
- Ve skutečnostiResponzivní design obvykle pracuje s jedním rozhraním, které se plynule přizpůsobuje mnoha stavům. Dvě pevné verze nepokryjí tablety, malé notebooky, zoom ani rozdělenou obrazovku.
- MýtusMedia query pro každý telefon vyřeší responzivitu.
- Ve skutečnostiMedia queries se mají odvozovat od obsahu a rozvržení, ne od katalogu zařízení. Konkrétní modely rychle zastarávají a stejný telefon může mít různé efektivní šířky podle nastavení a orientace.
- MýtusResponzivní design je jen práce grafika.
- Ve skutečnostiResponzivní design zasahuje návrh, HTML strukturu, CSS, obrázky, výkon i testování. Grafický návrh určí směr, ale kvalitu výsledku rozhoduje i implementace a reálné chování v prohlížeči.
Časté dotazy
- Je lepší začít responzivní design mobile-first?
- Mobile-first přístup je u responzivního designu často výhodný, protože nutí nejdřív vyřešit obsah, hierarchii a výkon v nejtěsnějším prostoru. Větší rozvržení se potom přidává jako rozšíření, ne jako záchrana přeplněného desktopového návrhu. Desktop-first může dávat smysl u interních nástrojů primárně používaných na velkých monitorech, ale i tam je potřeba ověřit menší viewporty.
- Kolik breakpointů má responzivní design obvykle mít?
- Počet breakpointů v responzivním designu nemá pevné správné číslo. Breakpoint má vzniknout tam, kde se konkrétní obsah láme špatně: text má příliš dlouhé řádky, karta se nevejde, tabulka ztrácí čitelnost nebo navigace zabírá moc místa. Menší počet dobře odůvodněných breakpointů bývá udržitelnější než dlouhý seznam šířek pro jednotlivá zařízení.
- Ovlivňuje responzivní design SEO?
- Responzivní design může SEO pomoci, protože stejná URL obslouží mobilní i desktopové uživatele a vyhledávač nemusí porovnávat oddělené verze. Samotná responzivita ale nestačí. Vyhledávače i uživatelé stále vnímají rychlost načítání, čitelnost obsahu, dostupnost odkazů, správné vykreslení důležitých prvků a stabilitu rozvržení při načítání.
- Musí responzivní design používat framework jako Bootstrap?
- Responzivní design nemusí používat Bootstrap, Tailwind ani jiný framework. Framework může zrychlit práci díky hotovým mřížkám, utilitám a komponentám, ale zároveň přidává konvence a někdy i zbytečný CSS objem. Čisté CSS s Flexboxem, Gridem, media queries a responzivními obrázky stačí pro mnoho projektů, pokud tým drží konzistentní pravidla.
Zdroje
- Media Queries Level 4(otevře se v novém okně)
- HTML Standard(otevře se v novém okně)
- Responsive design(otevře se v novém okně)
- CSS Flexible Box Layout Module Level 1(otevře se v novém okně)