Responsywność i media queries w CSS
Responsywność (RWD – Responsive Web Design) to podejście do projektowania stron, które sprawia, że wyglądają one dobrze i są wygodne w użyciu na różnych urządzeniach – od smartfonów po duże monitory. Dzięki technikom RWD jedna strona dostosowuje się automatycznie do wielkości ekranu, zamiast wymagać osobnych wersji mobilnych i desktopowych.
1. Wprowadzenie do RWD (Responsive Web Design)
Główne założenia RWD:
- Elastyczne siatki (fluid grids) – zamiast sztywnych wartości w
pxstosuje się jednostki względne (%,em,rem,vw,vh). - Elastyczne obrazy i multimedia – obrazy skalują się wraz z kontenerem (
max-width: 100%). - Media queries – różne style CSS w zależności od rozmiaru ekranu lub urządzenia.
Przykład:
Dzięki temu obraz nigdy nie wyjdzie poza ekran.
2. Media queries – @media
Media queries umożliwiają stosowanie określonych reguł CSS dla wybranych warunków, np. szerokości ekranu, orientacji czy rodzaju urządzenia.
Składnia
Najczęściej używane warunki:
min-width– styl dla ekranów szerszych niż...,max-width– styl dla ekranów węższych niż...,orientation: portrait– urządzenia pionowe,orientation: landscape– urządzenia poziome,prefers-color-scheme: dark– użytkownik preferuje tryb ciemny.
Przykłady:
a) Styl dla ekranów mniejszych niż 600px:
b) Styl dla ekranów większych niż 1024px:
c) Styl dla orientacji poziomej:
d) Styl dla trybu ciemnego:
3. Projektowanie „mobile-first”
Mobile-first to podejście, w którym:
- Najpierw projektujemy dla najmniejszych ekranów (smartfony),
- Następnie rozszerzamy projekt dla większych urządzeń za pomocą
min-width.
Dzięki temu strona jest zawsze dostępna i lekka na urządzeniach mobilnych, a większe ekrany dostają dodatkowe ulepszenia.
Przykład – mobile-first
Domyślne style = mobilne, a wraz ze wzrostem szerokości ekranu dodajemy nowe reguły.
4. Najczęstsze punkty przełamania (breakpoints)
Nie ma „jedynych słusznych” wartości, ale często stosuje się:
- Małe telefony:
max-width: 480px - Telefony i małe tablety:
max-width: 768px - Tablety i małe laptopy:
max-width: 1024px - Desktopy:
min-width: 1200px
Można też dopasować breakpoints do treści i układu strony, zamiast trzymać się sztywnych liczb.
5. Dobre praktyki RWD
- Stosuj procenty i jednostki względne (
em,rem,vw,vh) zamiast sztywnychpx. - Testuj na różnych urządzeniach – nie tylko na desktopie.
- Projektuj mobile-first – ułatwia utrzymanie i poprawia wydajność.
- Wykorzystuj narzędzia deweloperskie w przeglądarce (
F12 → Device Toolbar). - Pamiętaj o dostępności (a11y) – np. nie zmniejszaj zbyt mocno tekstu.