Základy Diagonálního Oddělování Sekcí
Nauč se, jak vytvořit diagonální dělítka mezi sekcemi pomocí CSS. Pokryté jsou základní techniky a principy.
Zajisti, aby tvé diagonální prvky vypadaly skvěle na všech velikostech obrazovek. CSS media queries a flexibilní řešení.
Diagonální prvky dělají webdesign zajímavým a moderním. Jenže když si je nakreslíš na desktopu, mobilní verze si tě může vzít. Když máš šikmé sekce a střídavé barvy, musíš vědět, jak se chují na malých obrazovkách.
Zde je problém: diagonální linie vypadají skvěle na 1440px, ale na mobilu se všechno rozpraskaní. Obrázky se jeví podivně. Text může skončit na místech, kde ho nikdo neočekává. Není to tak těžké vyřešit — potřebuješ jen chytré CSS a plán.
Když tvoříš diagonální efekt, obvykle používáš
clip-path
nebo
transform: skewY()
. Oba přístupy fungují, ale každý má své hranice na mobilech.
Clip-path je skvělý, protože je přímý a ovladatelný. Napíšeš
clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%)
a máš svou diagonálu. Jenže na telefonu s šířkou 320px se ty procenta chují jinak než na desktopu. Úhel se stane příliš ostrý nebo příliš mělký.
Transform skew je jiný přístup. Skew natáčí prvek, ale také natáčí obsah uvnitř. To může být problém. Pokud skewuješ sekci s textem, text se také nakloní — a to si nikdo přeje.
Tvůj klíč k úspěchu? Přizpůsobit úhel v každém breakpointu. Na desktopu může být sklon 8 stupňů. Na tabletu 6 stupňů. Na mobilu 4 stupně. Každý bod má svůj důvod.
Když se díváš na 1440px displej, ostrý úhel vypadá elegantně a moderně. Když se zmenšíš na 768px, stejný úhel zabere příliš prostoru a text se stane těžko čitelný. Na 375px telefonu by byla katastrofa.
Jak to řešíš? Použij media queries a změň polygon hodnoty. Nebo ještě lépe — použij CSS proměnné a změň jen jednu hodnotu:
:root {
--diagonal-angle-desktop: 8deg;
--diagonal-angle-tablet: 5deg;
--diagonal-angle-mobile: 2deg;
}
.diagonal-section {
--current-angle: var(--diagonal-angle-desktop);
transform: skewY(var(--current-angle));
transition: --current-angle 0.3s ease;
}
@media (max-width: 1024px) {
.diagonal-section {
--current-angle: var(--diagonal-angle-tablet);
}
}
@media (max-width: 640px) {
.diagonal-section {
--current-angle: var(--diagonal-angle-mobile);
}
}
Tímto způsobem si své úhly jednoduše spravuješ na jednom místě a měníš je podle potřeby.
Obrázky jsou triky. Když je vložíš do sekce s clip-path, okraje obrázku se oříznou podle polygonu. To je někdy to, co chceš — někdy ne.
Na desktopu máš spoustu prostoru. Obrázek se vejde do diagonální zóny bez problému. Na mobilu? Zóna je tak malá, že obrázek vypadá přiskrčený. Řešení: buď změniš poměr obrázku, nebo ho úplně skryješ na malých obrazovkách.
Doporučuju použít
object-fit: cover
a
object-position
pro kontrolu. Pak na mobilu prostě obrázek skryješ s
display: none
v media query. Obsah bude stále čitelný bez obrázku.
DevTools simulace není stejná jako opravdový telefon. Chrome emulator je dobrý pro první kontrolu, ale vezmi si fyzický mobil a podívej se skutečně. Světlo, velikost, orientace — všechno to ovlivňuje vnímání.
Nemusíš měnit všechno v každém breakpointu. Změň jen úhel. Ponech odsazení stejné. Malé změny jsou účinnější než velké přepisy. Začni s 3 breakpointy: desktop (1200px+), tablet (768-1199px), mobil (do 767px).
Když máš diagonální sekci, obsah uvnitř se může cítit sevřeně. Dej dostatek paddingu — více na desktopu, méně na mobilu. Obsah si tak bude dýchat a bude se to lépe číst.
Místo media queries pro každou jedinou velikost, zkus
clamp()
.
font-size: clamp(0.875rem, 2vw, 1.5rem)
se automaticky přizpůsobí bez media queries. Je to chytřejší.
Jakmile máš svůj design, testování je nejdůležitější fáze. Není to sexy práce, ale bez ní se dostaneš do problémů.
Testuj v Chrome, Firefox, Safari — všech prohlížečích. Clip-path funguje ve všech moderních prohlížečích, ale skew má občas různé chování. Safari někdy vykresluje jinak než Chrome.
Testuj také orientaci. Když se uživatel otočí telefon z portrétního na krajinský režim, tvůj úhel se musí přizpůsobit. To není automatické — musíš to naprogramovat s media queries na orientaci.
Diagonální prvky na mobilech nejsou věda. Jsou to chytrá rozhodnutí. Změníš úhly v breakpointech. Skryješ obrázky, když se nevejdou. Dáš dostatek prostoru obsahu. Testuj fyzicky.
Tvůj web bude vypadat skvěle všude — od velkého desktopu až po malý telefon. To je cíl. A teď víš, jak ho dosáhnout.
Techniky popsané v tomto článku jsou určeny pro vzdělávací účely. Implementace se může lišit v závislosti na tvém konkrétním projektu a cílové skupině uživatelů. Vždy testuj svůj design na různých zařízeních a prohlížečích. Výkon webu se liší v závislosti na hardware zařízení a internetovém připojení uživatele.