Přejít k navigační liště

Zdroják » Mobilní vývoj » iPhone X: jak si pro něj nastavit weby a proč je potřeba to udělat?

iPhone X: jak si pro něj nastavit weby a proč je potřeba to udělat?

Schválně jsem text nenazval „jak optimalizovat weby pro iPhone X“. To, co zde ukazuji, je totiž běžný a ve standardech W3C zanesený způsob přípravy webů na zařízení, která mají jiný než hranatý tvar obrazovky.

Text vyšel původně na webu autora.

Můžete z toho být nešťastní, ale asi to ničemu nepomůže. Lepší je vzít to s humorem:

Nebo ještě lépe: Zjistit důvody, proč je potřeba nehranaté obrazovky řešit a podle toho uzpůsobit své weby. Od toho jsem tady já a tenhle článek.

Stačí si představit chytré hodinky s prohlížečem a hned víte, že za to nějaký Apple s iPhone X nemůže.

V čem je problém? Zařízení tohoto typu totiž neví, zda byste raději chtěli, aby stránka šla vidět celá nebo aby byla roztažená ke krajům za cenu ořezání jejích prvků.

Weby s jednou barvou pozadí

U bílé barvy pozadí asi vše na iPhone X vše funguje.

Pokud používáte jinou barvu, zkontrolujte si, zda ji máte nastavenou na pozadí stránky:

body {
  background-color: <vaše-barva-pozadí>;
}

Mělo by to stačit.

V režimu na šířku vám iPhone X ke stranám přidá proužky v oné barvě a stránku zobrazí v šířce 724 CSS pixelů.

Weby s různobarevnými prvky roztaženými přes celou šířku stránku

I tady to může být jednoduché. Klíč je v meta značce pro viewport.

<meta name="viewport" 
  content="width=device-width, initial-scale=1, viewport-fit=cover">

Hodnotou cover vlastnosti viewport-fit říkáte, že se stránka má roztáhnout na celou šířku dostupné plochy v okně prohlížeče. A že vám nevadí, že některé její části budou překryté kulatými rohy nebo výčnělkem.

Úprava Vzhůru dolů pro iPhone X

Pokud váš podbarvený obsah drží nějakou postranní ochrannou zónu, asi už nic dalšího nepotřebujete udělat.

V režimu na šířku vám iPhone X zobrazí stránku v plné šířce 812 CSS pixelů.

Na obrázku je vidět ještě jeden krok, který jsem musel udělat v případě layoutu svého webu Vzhůru dolů. Posunul jsem breakpoint roztažení stránky na plnou šířku z 768px na 813px. U ostatních zařízení je to jedno, ale na iPhone X vypadá layout bez okrajů lépe.

Weby s různobarevnými prvky bez ochranné zóny

Postranní ochrannou zónu si vyrobte vlastními paddingy nebo převezměte vestavěné hodnoty. Na iPhone X jsou všechny čtyři směry doporučené ochranné zóny uložené v proměnných safe-area-* funkce env():

.container {
  padding: 1rem;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

Na iPhone X se tady převezmou vestavěné hodnoty, v ostatních prohlížečích to bude 1rem.

Více o tom je v článku na blogu vývojářů Safari.

Ještě poznámka k pozicování elementů.

Zase to fixní pozicování!

Vraťte se k obrázku nahoře a v posledním screenshotu se podívejte na Tracy, ladící nástroj frameworku Nette. Vidíte křížek na její zavření? Správně, nevidíte. Je schovaný pod zakulaceným růžkem obrazovky zařízení.

A všimli jste si, že její levá část je překrytá ovládacím prvkem prohlížeče? Nepůjde ovládat ani ta.

Už dlouho říkám, že fixní pozicování prvků je na mobilech dost nebezpečné a musíte jej opravdu hodně promýšlet. Více o tom píšu v knížce o responzivním designu.

Jak to testovat?

Browserstack sice iPhone X testovat umí, ale v době psaní článku jen v režimu na výšku.

Jste tedy odkázáni na simulátor vestavěný v Xcode, pokud máte Maca.

Nebo na kamarády a kamarádky s iPhone X. Já vím, ti jsou centrem pozornosti i bez toho.

ebook-vdcss3-prebal-final

Kniha „Vzhůru do (responzivního) designu“

Kompletní průvodce návrhem a implementací responzivních uživatelských rozhraní v e-booku a knize. Více informací.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů

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.

Rok po Shai-Hulud: co se změnilo na npm a co musíte udělat do ledna

Před rokem začal registrem npm procházet samošířící červ Shai-Hulud. Od té doby se útoky na dodavatelský řetězec JavaScriptu staly pravidelnou záležitostí a npm postupně přepisuje pravidla publikování. Projdeme, co se za ten rok stalo, jak dnes bezpečně publikovat balíček, co musíte stihnout do ledna 2027 a jak se bránit jako uživatel balíčků.