Siatki i układy w Figma: jak ustawić grid pod web, mobile i dashboard bez „pływania” elementów

Praktyczny przewodnik po siatkach w Figma: layout grids, system 8pt, constraints i Auto Layout. Ustawiaj grid pod web, mobile i dashboardy oraz napraw „pływanie” elementów checklistą.
23 kwietnia 2026
blog

1. Podstawy siatek w Figma: layout grids (kolumny, marginesy, gutter) i kiedy ich używać

Siatki w Figma (Layout Grid) to wizualny „szablon” pomagający układać elementy równo, przewidywalnie i w spójnych odstępach. Najczęściej służą do porządkowania układu na frame’ach ekranów (web, mobile, dashboard), tak aby elementy trafiały w te same linie odniesienia, a wyrównania nie były robione „na oko”.

W Figma Layout Grid jest właściwością konkretnego frame’a. Możesz mieć różne siatki dla różnych ekranów, a nawet kilka siatek na jednym frame’ie (np. osobną do kolumn i osobną do rytmu poziomego), ale w praktyce warto zaczynać od jednej, czytelnej siatki dopasowanej do typu projektu.

Czym jest layout grid i co daje w praktyce

  • Ujednolica wyrównania — elementy (np. karty, formularze, wykresy) łatwiej układać względem tych samych pionowych linii.
  • Kontroluje „oddech” układu — dzięki marginesom i gutterom widzisz, gdzie kończy się bezpieczny obszar treści oraz ile miejsca zostaje między kolumnami.
  • Ułatwia spójność między ekranami — jeśli kolejne widoki korzystają z tej samej logiki siatki, różnice między nimi są celowe, a nie przypadkowe.
  • Pomaga w komunikacji — grid jest wspólnym punktem odniesienia dla projektanta i osoby wdrażającej (łatwiej ustalić szerokości, wyrównania i zasady układu).

Główne typy layout grids w Figma

W praktyce najczęściej spotkasz trzy rodzaje siatek, z których każda ma inny cel:

  • Columns (kolumny) — pionowy podział obszaru treści na równe (lub kontrolowane) kolumny. To podstawowa siatka do większości układów web i dashboard, a czasem także mobile (zwłaszcza gdy projektujesz moduły, które muszą się ładnie skalować).
  • Rows (wiersze) — poziome pasy, przydatne do pilnowania rytmu pionowego (np. sekcji, bloków treści, list). Dobrze wspiera konsekwencję w układach, gdzie ważne są powtarzalne wysokości i odstępy.
  • Grid (kwadratowa) — równomierna siatka w obu osiach, częściej używana jako pomoc do ogólnego „snapowania” i pilnowania regularności, rzadziej jako główny system układu stron z kolumnami.

Kolumny, marginesy i gutter — co oznaczają

Jeśli myślisz o gridzie jak o obszarze, w którym ma „siedzieć” treść, te trzy parametry są kluczowe:

  • Kolumny — liczba pionowych pól, w które dzielisz obszar treści. Więcej kolumn daje większą elastyczność w komponowaniu różnych szerokości modułów (np. 4/12, 6/12, 8/12), ale też wymaga większej dyscypliny w składaniu elementów.
  • Marginesy (margins) — odstęp od krawędzi frame’a do pierwszej/ostatniej kolumny. Wyznacza „bezpieczny” obszar, w którym zwykle umieszczasz główną treść, aby nie przyklejała się do brzegu i dobrze wyglądała na różnych rozmiarach.
  • Gutter — odstęp między kolumnami. To wbudowany „kanał” separujący moduły, który pomaga zachować spójne przerwy bez ręcznego mierzenia za każdym razem.

Ważne: marginesy i gutter to nie tylko estetyka. To także prosty sposób na ograniczenie przypadkowych odstępów, które później sprawiają wrażenie, że elementy „pływają”.

„Stretch” vs „Center” — jak grid zachowuje się przy różnych szerokościach

Siatka kolumn może być ustawiona tak, aby:

  • Rozciągała się wraz z frame’em (kolumny i/lub gutter adaptują się do szerokości) — podejście dobre, gdy projektujesz na różne szerokości i chcesz zachować ten sam podział na kolumny w szerokim zakresie.
  • Była wyśrodkowana i trzymała stałą szerokość obszaru treści — podejście dobre, gdy chcesz pilnować maksymalnej czytelnej szerokości treści (częste w web), a nadmiar miejsca po bokach traktujesz jako „tło” lub obszar drugorzędny.

Dobór zależy od tego, czy priorytetem jest stała szerokość treści (czytelność i kontrola), czy pełniejsze wykorzystanie dostępnego miejsca (np. duże ekrany, dashboardy).

Kiedy używać layout grids, a kiedy wystarczy wyrównanie „na oko”

Layout grids warto włączać zawsze, gdy układ ma być powtarzalny i skalowalny. W szczególności:

  • Strony i widoki z wieloma modułami (sekcje, karty, listy, panele) — grid pomaga utrzymać wspólne linie i równe przerwy.
  • Dashboardy — tam, gdzie obok siebie istnieje wiele bloków o różnych szerokościach, a wyrównania są kluczowe dla czytelności danych.
  • Projekty przekazywane do wdrożenia — siatka jest jasnym sygnałem, jaka jest logika układu i jakie są punkty odniesienia.

Z kolei w prostych, jednorazowych widokach (np. pojedynczy ekran marketingowy o nietypowej kompozycji) grid nadal może pomagać, ale nie zawsze musi być „władcą” kompozycji. Jeśli layout jest celowo asymetryczny, siatka może być bardziej delikatnym przewodnikiem niż sztywną regułą.

Jak myśleć o siatce, żeby nie przeszkadzała

  • Traktuj siatkę jako system odniesienia, nie jako konieczność wypełniania każdej kolumny.
  • Projektuj modułami — elementy (karty, sekcje, panele) łatwiej „wkładać” w kolumny niż pojedyncze, drobne obiekty.
  • Ustal, co jest treścią główną i pilnuj, aby trzymała się obszaru wyznaczonego marginesami; elementy dekoracyjne mogą żyć poza nim, jeśli to świadoma decyzja.

Dobrze ustawiony layout grid nie ogranicza kreatywności — ogranicza przypadkowość. Dzięki temu układ wygląda stabilnie, a elementy sprawiają wrażenie osadzonych w jednym, spójnym systemie.

System 8pt: spacing, odstępy, skala i spójność w projektach web/mobile/dashboard

System 8pt to prosta zasada porządkowania odstępów: większość wartości spacingu (marginesy, paddingi, przerwy między elementami) opiera się o wielokrotności 8. Dzięki temu interfejs jest przewidywalny, łatwiejszy do utrzymania i mniej podatny na „rozjeżdżanie się” wizualne podczas rozbudowy projektu.

W praktyce nie chodzi o to, by wszystko było równe 8, 16, 24 itd., tylko by mieć spójną skalę odstępów i konsekwentnie jej używać. Najczęściej skala obejmuje zarówno małe przerwy (np. między ikoną a etykietą), jak i duże oddechy (np. między sekcjami).

Podczas szkoleń Cognity ten temat wraca regularnie – dlatego zdecydowaliśmy się go omówić również tutaj, w kontekście siatek i układów w Figma.

Dlaczego akurat 8?

  • Spójność wizualna: elementy „układają się” w rytm, który łatwo utrzymać w całym projekcie.
  • Skalowalność: gdy projekt rośnie, szybciej dobierasz poprawne odstępy bez każdorazowego „mierzenia na oko”.
  • Zbieżność z typowymi platformami: wiele systemów projektowych i bibliotek UI naturalnie pracuje w krokach 8 lub ich pochodnych.

Jak rozumieć spacing w kontekście 8pt

W systemie 8pt warto myśleć o odstępach jako o zestawie poziomów, które przypisujesz do typowych sytuacji. Przykładowo:

  • Odstępy wewnętrzne (padding): ile „powietrza” ma komponent w środku.
  • Odstępy zewnętrzne (margins): jak daleko komponent stoi od innych elementów.
  • Odstępy między elementami (gap/spacing): przerwy w układach typu lista, toolbar, formularz.
  • Odstępy sekcyjne: większe przerwy rozdzielające bloki treści (np. nagłówek strony vs. zawartość).

Najważniejsze jest, by te kategorie miały logiczne, powtarzalne wartości. Wtedy podobne elementy zachowują podobny rytm w różnych miejscach produktu.

Kiedy dopuszczać wyjątki (np. 4pt)?

W wielu zespołach standardem jest podejście „8 jako baza, 4 jako półkrok”. Ma to sens, gdy potrzebujesz delikatniejszego dopasowania, np. w gęstych interfejsach lub w mikro-odstępach (ikonka–tekst, separacja w chipach, drobne wyrównania optyczne). Kluczowe jest, aby wyjątki były świadome i ograniczone, a nie wynikały z przypadkowego przesuwania elementów.

Web, mobile i dashboard: różnice w odczuciu „gęstości”

Ten sam system 8pt możesz stosować w różnych produktach, ale inaczej rozkładają się priorytety:

  • Web (marketing, content): zwykle korzysta z większych oddechów (większe odstępy sekcyjne), bo liczy się czytelność, hierarchia i „lekkość” layoutu.
  • Mobile: spacing musi wspierać ergonomię i czytelność na małej powierzchni; częściej operuje się średnimi wartościami, a konsekwencja pomaga uniknąć wrażenia ciasnoty lub przypadkowości.
  • Dashboardy (data-heavy): często wymagają większej gęstości informacji, więc częściej pojawiają się mniejsze kroki (np. półkrok), ale nadal w ramach tej samej skali, żeby interfejs nie wyglądał na „poskładany z różnych części”.

Spójność: najważniejsza korzyść systemu 8pt

System 8pt działa najlepiej, gdy traktujesz go jak wspólny język całego zespołu. Spójne wartości spacingu ułatwiają:

  • utrzymanie jednolitego wyglądu między ekranami i modułami,
  • projektowanie komponentów, które „pasują” do siebie bez ręcznych korekt,
  • szybkie podejmowanie decyzji (wybierasz z ustalonej skali, zamiast wymyślać nowe wartości),
  • redukcję drobnych różnic, które później kumulują się jako wrażenie „pływania” i braku wyrównania.

Jeśli w projekcie często pojawiają się wartości typu 13, 19 czy 27 bez wyraźnego powodu, to zwykle sygnał, że brakuje jednej skali spacingu albo nie jest ona konsekwentnie używana.

3. Constraints i zachowanie elementów przy zmianie rozmiaru: zasady, typowe konfiguracje i pułapki

Constraints w Figma definiują, jak warstwa zachowuje się względem swojego rodzica (frame’a), gdy ten zmienia rozmiar. To podstawowe narzędzie do kontrolowania „przyklejenia” elementów do krawędzi, utrzymania proporcji lub rozciągania w osi — tak, aby układ nie wyglądał na przypadkowo rozjechany po zmianie szerokości/wysokości.

Na czym polegają constraints (w skrócie)

  • Oś pozioma (Horizontal): element może trzymać się lewej/prawej, być wyśrodkowany, rozciągać się lub skalować.
  • Oś pionowa (Vertical): analogicznie — góra/dół, środek, rozciąganie, skala.
  • Punkt odniesienia to zawsze frame nadrzędny (nie grid i nie „ekran” jako taki).
  • Constraints nie „wiedzą”, co jest obok — nie dbają o relacje między rodzeństwem. Pilnują tylko relacji dziecko–rodzic.

Najczęściej używane tryby i kiedy je wybierać

W praktyce chodzi o dopasowanie zachowania do roli elementu: czy ma zostać w rogu, trzymać margines, rozciągać się jak tło, czy utrzymać środek kompozycji.

Tryb Co robi przy resize rodzica Typowe zastosowanie
Left / Top Trzyma stały offset od lewej/góry Logo w lewym górnym rogu, tytuły sekcji, elementy nawigacji
Right / Bottom Trzyma stały offset od prawej/dół Przyciski „Zapisz” w prawym dolnym rogu, ikony w prawym górnym
Center Utrzymuje wyśrodkowanie względem osi Empty states, modale, hero z centralnym CTA
Left & Right (Stretch) Trzyma oba marginesy, rozciąga szerokość Paski wyszukiwania, kontenery treści, nagłówki tabel
Top & Bottom (Stretch) Trzyma oba marginesy, rozciąga wysokość Tła sekcji, panele boczne, obszary wykresów w dashboardach
Scale Skaluje pozycję i rozmiar proporcjonalnie Rzadko: ilustracje/kompozycje, które mają „rosnąć” razem z frame’em

Typowe konfiguracje (szybkie wzorce)

  • Header na pełną szerokość: element tła/sekcji → Left & Right, zawartość po lewej (np. tytuł) → Left, akcje po prawej → Right.
  • Sidebar + content: sidebar → Left + (opcjonalnie) Top & Bottom jeśli ma się ciągnąć po wysokości; content → Left & Right.
  • Przycisk w rogu: Right + Bottom (gdy ma trzymać dystans od krawędzi niezależnie od rozmiaru).
  • Modal/okno dialogowe: kontener modala → Center w obu osiach; overlay → Left & Right oraz Top & Bottom.
  • Obraz jako tło sekcji: jeśli ma wypełniać obszar → constraints na Stretch; jeśli ma zachować kompozycję → rozważ Center i kontrolę dopasowania w samym obrazie (bez agresywnego skalowania całej warstwy).

Najczęstsze pułapki powodujące „pływanie”

  • Nie ten rodzic: element jest zagnieżdżony w dodatkowym frame’ie/grupie i „trzyma się” jej krawędzi, a nie layoutu, który faktycznie się skaluje. Efekt: przesunięcia mimo poprawnych pozornie ustawień.
  • Grupy zamiast frame’ów: grupy nie dają tak przewidywalnej kontroli jak frame’y; łatwo o sytuację, w której constraints nie działają tak, jak oczekujesz.
  • Stretch na elementach, które nie powinny się rozciągać: np. przycisk ustawiony na Left & Right w kontenerze — zaczyna „puchnąć”, psując rytm i hierarchię.
  • Scale użyte jako „responsywność”: skaluje wszystko (w tym typografię i odstępy), co często daje nienaturalne proporcje i wrażenie pływania przy zmianie rozmiaru.
  • Brak spójnych offsetów: dwa elementy wizualnie wyrównane, ale z innymi wartościami X/Y względem rodzica — przy resize różnice zaczynają być widoczne.
  • Tekst bez kontroli zachowania: gdy ramka tekstowa ma złe ustawienia (np. nie trzyma odpowiedniej krawędzi), przy zmianie szerokości rodzica może zmieniać łamanie linii w nieprzewidywalny sposób.

Krótka checklista przed resize frame’a

  • Czy każdy element ma świadomie ustawione constraints w obu osiach (a nie „domyślne, bo działało”)?
  • Czy element jest we właściwym frame’ie nadrzędnym, który faktycznie zmienia rozmiar?
  • Czy elementy, które mają trzymać margines, są na Left/Right/Top/Bottom, a nie na Scale?
  • Czy rozciągasz tylko te warstwy, które mogą rosnąć (tła, kontenery), a nie te, które powinny zachować rozmiar (ikony, przyciski)?

Constraints są najszybszym sposobem, by ustabilizować pozycjonowanie przy zmianie rozmiaru frame’a, ale mają ograniczenie: nie zarządzają relacjami pomiędzy elementami. Jeśli układ ma się „układać” dynamicznie (np. dopasowywać paddingi, odstępy i szerokości treści), same constraints zwykle nie wystarczą.

💡 Pro tip: Ustaw constraints dopiero po upewnieniu się, że warstwa ma właściwego rodzica (frame, nie grupa), bo nawet „idealne” przywiązania będą pływać, jeśli odnoszą się do złego kontenera. Rozciągaj tylko tła i kontenery (Stretch), a elementy interaktywne trzymaj na Left/Right/Center — unikniesz „puchnięcia” i przypadkowego skalowania typografii.

4. Auto Layout w praktyce: budowanie elastycznych komponentów, padding, spacing, wrap i alignment

Auto Layout w Figma służy do budowania elastycznych komponentów i sekcji UI, które same „układają się” na podstawie reguł: kierunku, odstępów, wypełnień i wyrównania. To narzędzie szczególnie przydatne tam, gdzie elementy mają zmienną treść (np. różne długości tekstów, stany przycisków, listy, karty), a układ ma pozostać stabilny bez ręcznego przesuwania warstw.

Doświadczenie Cognity pokazuje, że rozwiązanie tego problemu przynosi szybkie i zauważalne efekty w codziennej pracy — szczególnie wtedy, gdy projektant przestaje „łatać” layout ręcznymi przesunięciami, a zaczyna opierać go na spójnych regułach Auto Layout.

Kiedy Auto Layout daje największą wartość

  • Komponenty z treścią o zmiennej długości: przyciski, chipy, tagi, badge, pola z etykietą i komunikatem błędu.
  • Powtarzalne struktury: listy, tabele (na poziomie wierszy/komórek), sekcje kart, sidebar z pozycjami menu.
  • Układy z jasnymi regułami spacingu: pionowe „stacki” treści, nagłówek + opis + akcje, siatki kart (z wrappingiem).
  • Warianty stanów: gdy w jednym komponencie mogą pojawić się/znikać elementy (np. ikona, licznik, loader), a reszta ma się dopasować.

Auto Layout vs. ręczne pozycjonowanie (szybkie porównanie)

Cecha Auto Layout Ręczne układanie warstw
Zmiana tekstu/treści Układ dopasowuje się automatycznie Często wymaga ręcznych korekt
Spójne odstępy Jedna reguła spacingu dla całej grupy Łatwo o różnice „o 1–2 px”
Reużywalność komponentu Wysoka – przewidywalne zachowanie Niższa – układ zależy od ręcznych przesunięć
Kontrola „co gdzie stoi” Reguły i hierarchia determinują układ Pozycje absolutne (łatwe w szybkim mocku)

Kluczowe pojęcia: kierunek, padding i spacing

Auto Layout działa na kontenerze (frame) i układa jego dzieci zgodnie z ustawieniami:

  • Direction (kierunek): poziomy (horizontal) lub pionowy (vertical). To fundament budowy „stacków”.
  • Padding: wewnętrzne marginesy kontenera (top/right/bottom/left), które trzymają treść „od ścianek”.
  • Spacing between items: odstęp pomiędzy elementami wewnątrz kontenera; zapewnia powtarzalność i eliminuje ręczne „rozpychanie”.

Praktyczna zasada: padding definiuje relację treści do kontenera, a spacing definiuje relację elementów względem siebie. Mieszanie tych ról (np. dopinanie odstępów pustymi prostokątami) zwykle kończy się „pływaniem” przy zmianach.

Resize: Hug, Fill, Fixed — jak myśleć o rozmiarach

W Auto Layout kluczowe jest ustawienie zachowania rozmiaru kontenera i jego dzieci. W praktyce najczęściej operujesz trzema trybami:

  • Hug contents: element „obejmuje” zawartość (np. przycisk dopasowuje szerokość do tekstu).
  • Fill container: element wypełnia dostępne miejsce w kontenerze (np. input w wierszu formularza).
  • Fixed: stały rozmiar, niezależny od treści (np. ikona 24×24, avatar 40×40).

Dobrą praktyką jest: tekst i małe „opakowania” często ustawiaj jako Hug, główne pola/sekcje jako Fill, a elementy o stałym wymiarze jako Fixed. Dzięki temu komponent zachowuje proporcje bez ręcznych poprawek.

Alignment: wyrównanie i dystrybucja

Wyrównanie w Auto Layout dotyczy osi głównej (kierunku układania) i osi poprzecznej:

  • Align (oś poprzeczna): np. w poziomym layoucie wyrównujesz elementy do góry/środka/dołu.
  • Justify / distribution (oś główna): steruje tym, czy elementy idą „jeden po drugim” ze spacingiem, czy są rozciągane/rozsuwane (np. space-between).

Najczęstszy, stabilny wzorzec: stały spacing + wyrównanie do środka (dla wierszy) oraz stały spacing + wyrównanie do lewej (dla kolumn). Ustawienia „rozsuwające” (space-between) stosuj świadomie, bo zmiana szerokości kontenera może mocno zmieniać odległości.

Wrap: kiedy treść ma się zawijać

Wrap (zawijanie) pozwala układać elementy w wielu wierszach/kolumnach w ramach jednego Auto Layoutu. To przydatne dla:

  • Chipów i tagów (lista filtrów, etykiety, kategorie), które przechodzą do kolejnej linii.
  • Siatek kart o stałej szerokości kafla, które „łamią” się zależnie od dostępnej przestrzeni.
  • Zestawów akcji (przyciski), gdy nie mieści się wszystko w jednym rzędzie.

Wrap działa najlepiej, gdy elementy mają przewidywalną szerokość (np. Fixed lub ograniczony Hug) i gdy spacing jest ustalony. W przeciwnym razie możesz uzyskać losowe przejścia do kolejnej linii.

Przykłady komponentów, które warto budować na Auto Layout

  • Button: ikona (Fixed) + label (Hug) w kontenerze z paddingiem i stałym spacingiem.
  • Input: label nad polem (vertical), komunikat walidacji pod spodem; pole jako Fill w dostępnej szerokości.
  • Card: nagłówek, treść, stopka z akcjami; stopka może mieć układ poziomy i wyrównanie do prawej.
  • List item: lewa część (ikona/avatar + teksty) jako Fill, prawa (np. chevron, akcja) jako Fixed.

Minimalny „przepis” na stabilny komponent

// logika ustawień (bez zależności od konkretnego projektu)
Kontener (Auto Layout):
- Direction: Horizontal lub Vertical
- Padding: stały (np. 12/16)
- Spacing between items: stały (np. 8)
- Alignment: konsekwentny (center dla wierszy / left dla kolumn)

Dzieci:
- Ikony/avatary: Fixed
- Teksty: Hug (z sensownymi ograniczeniami szerokości, jeśli potrzeba)
- Główne pola: Fill container
- Elementy opcjonalne: ukrywanie/pokazywanie bez zmiany „ręcznych” pozycji

Typowe błędy, które psują elastyczność (i jak ich unikać)

  • Ręczne „spacery” (puste prostokąty) zamiast spacingu/paddingu — trudno to utrzymać przy zmianach.
  • Zbyt wiele zagnieżdżeń bez potrzeby — rośnie złożoność i łatwiej o sprzeczne reguły.
  • Wszystko na Fixed — komponent wygląda dobrze w jednym rozmiarze, ale nie skaluje się wraz z treścią.
  • Space-between jako domyślne — odstępy zmieniają się przy każdym resize, co bywa niepożądane w UI.

Jeśli trzymasz się prostych reguł (stały padding, stały spacing, świadome Hug/Fill/Fixed), Auto Layout staje się podstawą stabilnych, reużywalnych komponentów, które nie wymagają ciągłych ręcznych poprawek.

💡 Pro tip: Traktuj Auto Layout jak źródło prawdy dla odstępów: padding jest od kontenera, spacing jest między dziećmi — nie zastępuj ich pustymi prostokątami. Najstabilniejszy zestaw to ikony/avatary na Fixed, teksty na Hug, a główne pola na Fill, dzięki czemu komponent znosi zmiany treści bez ręcznych poprawek.

5. Responsywność i breakpointy w Figma: jak projektować warianty i testować skalowanie układu

Responsywność w Figma sprowadza się do świadomego projektowania kilku stanów tego samego interfejsu (dla różnych szerokości) oraz weryfikacji, czy układ zachowuje logikę podczas rozciągania i zwężania. Breakpointy nie są „magicznym” ustawieniem w jednym miejscu — to zestaw decyzji: jakie szerokości projektujesz, co dzieje się z siatką, oraz jak elementy mają się przeorganizować.

Breakpointy: po co są i jak je dobierać

Breakpoint to próg szerokości, przy którym zmienia się układ (np. liczba kolumn, układ nawigacji, widoczność paneli). W praktyce projektowej w Figma breakpointy pomagają:

  • utrzymać spójność decyzji layoutowych między ekranami,
  • uniknąć „pływania” (przypadkowych przesunięć i skoków),
  • planować, które elementy są priorytetowe na mniejszych szerokościach.

Dobieraj breakpointy na podstawie zachowania treści (kiedy layout zaczyna się łamać), a nie wyłącznie na podstawie listy urządzeń. Jeśli układ nie wymaga zmiany przy danym progu, nie twórz sztucznego wariantu.

Strategie projektowania wariantów responsywnych

Najczęściej spotkasz trzy podejścia. Różnią się nakładem pracy i tym, jak dobrze „symulują” implementację.

Strategia Kiedy używać Plusy Ryzyka
Fixed artboards (oddzielne ramki na breakpointy) Gdy chcesz jasnych makiet dla dev/QA Najczytelniejsze handoff, łatwe porównanie stanów Dużo duplikacji, łatwo o niespójności między wersjami
Fluid testing (testowanie przez zmianę rozmiaru tej samej ramki) Gdy layout ma się płynnie skalować między progami Szybko wykrywa problemy z rozciąganiem Może ukryć potrzebę „prawdziwego” przełamania układu
Hybrid (kilka breakpointów + test pośrednich szerokości) Najczęstszy scenariusz produktowy Równowaga między kontrolą a realizmem Wymaga dyscypliny w aktualizowaniu wariantów

Jak projektować warianty: co zmienia się najczęściej

Warianty breakpointów zwykle obejmują kilka typowych decyzji układowych (bez wchodzenia w szczegóły mechanik):

  • Siatka i szerokość contentu: zmiana liczby kolumn, szerokości kontenera, marginesów.
  • Nawigacja: pełne menu → zwinięte / off-canvas; pasek boczny → ikony / ukrycie.
  • Hierarchia treści: przesunięcie elementów o wysokim priorytecie wyżej, redukcja elementów drugorzędnych.
  • Układ kart/sekcji: 3 kolumny → 2 → 1; przejście z układu poziomego na pionowy.
  • Tabele i dashboardy: „gęste” widoki wymagają planu na zwężanie (np. priorytety kolumn, przewijanie, sekcje).

Kluczowe jest, aby przy każdym breakpointcie odpowiedzieć na pytanie: co ma pozostać stabilne (np. szerokość kontenera, rytm odstępów), a co ma się przeorganizować (np. liczba kolumn, kolejność bloków).

Testowanie skalowania układu w Figma (praktyczny workflow)

Żeby ocenić responsywność, nie wystarczy narysować dwóch ekranów. Potrzebujesz krótkiego testu „pośrednich” szerokości, bo tam najczęściej ujawniają się problemy.

  • Ustal zestaw szerokości testowych: dla każdego breakpointu dodaj 1–2 wartości pomiędzy (np. „tuż przed przełamaniem”).
  • Rozciągaj ramkę i obserwuj zachowanie kluczowych bloków: nagłówków, nawigacji, gridów z kartami, sekcji z CTA.
  • Sprawdzaj długości treści: podmień tekst na dłuższy/krótszy, aby zobaczyć, czy układ jest odporny na realne dane.
  • Weryfikuj interakcje w prototypie (jeśli używasz): czy przejścia między wariantami nie powodują skoków i utraty kontekstu.

Warianty i organizacja pliku: czytelność dla zespołu

Responsywne projekty szybko rosną, więc liczy się porządek. Dobra praktyka to utrzymywanie pary (lub zestawu) ekranów dla tego samego widoku w układzie obok siebie oraz konsekwentne nazewnictwo.

  • Nazwy ramek: dodawaj sufiks z breakpointem (np. „Home / md”, „Home / lg”).
  • Stałe punkty odniesienia: trzymaj powtarzalne elementy (np. header) w tej samej osi, aby łatwo porównać różnice.
  • Komunikacja zmian: jeśli coś „zmienia tryb” (np. sidebar przechodzi w drawer), pokaż to jako osobny wariant layoutu, a nie drobną korektę przypadkowych przesunięć.

Mini-checklista: czy Twój breakpoint ma sens?

  • Czy istnieje powód treściowy (a nie tylko „bo jest taki rozmiar urządzenia”)?
  • Czy po zmianie szerokości wiadomo, co jest priorytetem i co może zniknąć/zmienić pozycję?
  • Czy pośrednie szerokości nie powodują nagłych skoków i utraty wyrównania?
  • Czy różnice między wariantami są intencjonalne i opisane (np. w notatce lub nazwie wariantu)?

6. Przykładowe konfiguracje siatek i parametrów: web (desktop), mobile (iOS/Android), dashboardy (data-heavy)

Poniższe ustawienia traktuj jako sprawdzone punkty startowe do pracy w Figma. Najważniejsza różnica między web/mobile/dashboard to: liczba kolumn, szerokość marginesów, gutter (odstęp między kolumnami) oraz to, czy projektujesz pod stały kontener czy pod płynną szerokość. Warto też od początku dopasować siatkę do realnych ograniczeń: treści, tabel, kart, formularzy i nawigacji.

Konfiguracje startowe (tabela)

Typ projektu Frame (roboczy) Layout grid Marginesy Gutter Kiedy działa najlepiej
Web (desktop) 1440 px (często) Columns: 12, Type: Stretch 64–80 px 16–24 px Landing pages, marketing, standardowe UI z sekcjami i kartami
Web (desktop) – kontener 1440 px (frame), treść w kontenerze Columns: 12, Type: Center (Fixed width) kontener: 1120–1200 px 24 px Gdy chcesz przewidywalną szerokość treści i mniejsze ryzyko rozjazdów
Mobile (iOS/Android) 390×844 (iOS) lub 360×800 (Android – orientacyjnie) Columns: 4, Type: Stretch 16–20 px 16 px Aplikacje z kartami, listami, prostymi układami; łatwe skalowanie
Mobile – gęstsze UI jw. Columns: 6, Type: Stretch 16 px 12–16 px Gdy potrzebujesz bardziej precyzyjnego dzielenia szerokości (np. filtry, chipy)
Dashboard (data-heavy) 1440–1920 px Columns: 12 lub 16, Type: Stretch 24–48 px 16–24 px Tabele, wykresy, panele; układy o wielu kolumnach i modułach

Web (desktop): 12 kolumn i decyzja „stretch vs center”

  • 12 kolumn to najczęstszy wybór, bo daje elastyczność (2/3/4/6/12) i łatwe dzielenie sekcji.
  • Stretch (kolumny rozciągają się wraz z frame) jest wygodny, gdy projekt ma być płynny, ale wymaga dyscypliny w marginesach i kontenerach.
  • Center (stała szerokość siatki wyśrodkowana) bywa lepszy, gdy chcesz trzymać się jednego kontenera treści (np. 1140–1200 px) i ograniczyć „pływanie” na szerokich ekranach.

Praktyczny starter (desktop 1440): 12 kolumn, gutter 24, marginesy 80. Jeśli projektujesz pod kontener: ustaw grid na Center z fixed width np. 1200 i dopasuj marginesy frame do wygodnego podglądu.

Mobile (iOS/Android): 4 kolumny i mniejsze marginesy

  • 4 kolumny to popularny standard, który dobrze wspiera typowe układy: pełna szerokość, pół na pół (2+2), lub 3+1 pod akcje.
  • Marginesy 16–20 pomagają utrzymać czytelność i zgodność z większością wzorców mobilnych.
  • Gutter 16 jest bezpiecznym wyborem dla kart, list i prostych siatek; przy gęstszym UI rozważ 12.

Uwaga projektowa: na mobile częściej „siatką” staje się przewidywalna szerokość treści i konsekwentne marginesy niż rozbudowany podział na wiele kolumn.

Dashboardy (data-heavy): więcej modułów, większa tolerancja na gęstość

  • Najczęściej sprawdzają się 12 lub 16 kolumn — 16 daje drobniejszą modularyzację (np. 3/5/8/11) przy wielu panelach.
  • Mniejsze marginesy niż w marketingu (np. 24–48) pozwalają efektywniej wykorzystać przestrzeń pod dane.
  • Gutter 16–24: 16 dla gęstych siatek i wielu paneli, 24 gdy dashboard ma „oddychać” i ma mniej modułów, ale większe.

Dodatkowa praktyka: dla dashboardów często wygodniej jest zestawić dwie siatki w jednym frame: kolumnową (pod moduły) oraz subtelny grid wierszy (pod rytm pionowy). Jeśli używasz row grid, trzymaj go na niskiej widoczności, żeby nie „dominował” projektu.

Przykładowe ustawienia do przepisania w Figma

Poniżej zapis „parametrów”, które możesz szybko odwzorować w panelu Layout grid dla frame:

WEB (Desktop 1440)
- Columns: 12
- Type: Stretch
- Margin: 80
- Gutter: 24

MOBILE (iOS 390)
- Columns: 4
- Type: Stretch
- Margin: 16
- Gutter: 16

DASHBOARD (Desktop 1440–1920)
- Columns: 16 (lub 12)
- Type: Stretch
- Margin: 32
- Gutter: 16–24

Jak dobrać konfigurację (szybkie kryteria)

  • Jeśli dominują sekcje i hero (marketing) — większe marginesy i 12 kolumn.
  • Jeśli dominują listy i formularze (aplikacja web) — 12 kolumn, ale rozważ kontener Center dla przewidywalności.
  • Jeśli dominują tabele, filtry, panele (dashboard) — 12/16 kolumn, mniejsze marginesy i przemyślany gutter pod gęstość.
  • Jeśli projekt ma częste układy 2-up na mobile — 4 kolumny zwykle wystarczą; 6 kolumn wybieraj, gdy realnie potrzebujesz bardziej drobnego podziału.

7. Najczęstsze przyczyny „pływania” elementów i jak je naprawić (checklista diagnostyczna)

„Pływanie” elementów w Figma najczęściej wynika z niespójnych reguł pozycjonowania: część obiektów jest ustawiona ręcznie „na oko”, część opiera się o siatkę, a część zachowuje się inaczej przy zmianie rozmiaru ramki. Poniższa checklista pomaga szybko namierzyć źródło problemu i ujednolicić zachowanie układu.

  • Brak jednej „prawdy” dla układu (siatka vs ręczne wyrównania)

    Objawy: elementy nie trzymają osi, odstępy „prawie” się zgadzają, ale przy porównaniu ekranów widać drobne przesunięcia.

    Naprawa: wybierz wiodący sposób prowadzenia układu dla danej ramki (np. layout grid i stałe marginesy) i dociągnij kluczowe elementy do tych samych linii odniesienia (krawędzie, kolumny, osie).

  • Niespójne marginesy i gutter w obrębie projektu

    Objawy: sekcje wyglądają poprawnie osobno, ale „nie składają się” w całość; pojawiają się różne odległości od krawędzi w podobnych modułach.

    Naprawa: ujednolić marginesy zewnętrzne i przerwy między kolumnami dla ekranów tego samego typu; sprawdzać powtarzalne bloki (hero, listy, karty) pod kątem identycznych wartości.

  • Elementy umieszczone poza strukturą (dzieci nie w tym kontenerze)

    Objawy: przy przesuwaniu sekcji część elementów „zostaje w tyle” lub nie skaluje się razem z modułem.

    Naprawa: zweryfikuj hierarchię warstw; elementy wizualnie należące do modułu powinny być zagnieżdżone w jego ramce/grupie, a nie „luzem” na poziomie ekranu.

  • Grupy zamiast ramek tam, gdzie liczy się layout

    Objawy: trudne utrzymanie paddingu, brak przewidywalnego zachowania przy zmianie rozmiaru, kłopotliwe wyrównania.

    Naprawa: zamieniaj grupy na ramki w miejscach, gdzie potrzebujesz stabilnych granic kontenera (padding, tło, wyrównania do krawędzi). Grupy traktuj jako narzędzie pomocnicze, nie fundament układu.

  • Nieprawidłowe Constraints w ramkach responsywnych

    Objawy: po zmianie szerokości/wysokości ramki elementy odklejają się od krawędzi, zmieniają pozycję niezgodnie z oczekiwaniem albo „uciekają” poza ekran.

    Naprawa: sprawdź, czy każdy element ma sensownie ustawione przywiązanie (do lewej/prawej/środka, góry/dołu) oraz czy elementy, które powinny się rozciągać, faktycznie mają włączone rozciąganie w odpowiednim kierunku.

  • Mieszanie trybów: część elementów w Auto Layout, część pozycjonowana absolutnie

    Objawy: w obrębie jednego komponentu odstępy „rozjeżdżają się” po zmianie treści; ikony lub badge nie trzymają miejsca; układ wygląda inaczej w wariantach.

    Naprawa: zdecyduj, co ma być układane automatycznie, a co ma być pozycjonowane niezależnie. Jeśli element jest częścią przepływu (np. tekst + ikona), powinien być w tym samym układzie; absolutne pozycjonowanie zostaw dla wyjątków (np. nakładki, dekoracje).

  • „Hug/Fill/Fixed” ustawione przypadkowo

    Objawy: tekstowe bloki raz się zawijają, raz rozciągają; przy dłuższych labelach przyciski zmieniają szerokość w niekontrolowany sposób; karty nie trzymają równej wysokości.

    Naprawa: ujednolić sposób wymiarowania: elementy treściowe zwykle powinny dopasowywać się do zawartości, a elementy strukturalne (kolumny, kontenery) wypełniać dostępne miejsce lub mieć stały wymiar, jeśli tego wymaga projekt.

  • Różne style odstępów (brak konsekwentnej skali spacing)

    Objawy: podobne przerwy mają wartości typu 13, 15, 18; wizualnie „prawie” jest ok, ale całość wygląda mniej równo i trudniej to utrzymać w kolejnych ekranach.

    Naprawa: ogranicz liczbę używanych wartości odstępów i trzymaj się jednej skali w obrębie projektu; poprawki wprowadzaj „od źródła” (na poziomie komponentów), a nie ręcznie na instancjach.

  • Wyrównywanie do pikseli „na siłę” (pixel-perfect bez reguł)

    Objawy: elementy są przesuwane o 1 px tu i tam, żeby „lepiej wyglądało”, ale potem trudno utrzymać konsekwencję między ekranami i wariantami.

    Naprawa: jeśli korygujesz wizualnie, rób to konsekwentnie w ramach jednego systemu (np. zawsze ten sam offset dla danej klasy elementów) i tylko wtedy, gdy nie psujesz osi i wspólnych linii układu.

  • Niestabilne komponenty (nadpisania w instancjach zamiast poprawy w masterze)

    Objawy: każda instancja komponentu jest „trochę inna”; po zmianie mastera część ekranów wymaga ręcznych poprawek.

    Naprawa: napraw problem u źródła: popraw strukturę komponentu bazowego (padding, wyrównania, zachowanie tekstu) i ogranicz ręczne nadpisania w instancjach do minimum.

  • Ukryte elementy i warstwy wpływające na wyrównania

    Objawy: zaznaczenie kontenera pokazuje „dziwne” wymiary; wyrównanie do krawędzi daje niespodziewany odstęp; tło ma większy rozmiar niż widoczny content.

    Naprawa: sprawdź, czy w kontenerze nie ma niewidocznych obiektów, warstw z zerową przezroczystością, obrysów, efektów cienia lub elementów poza obszarem widocznym, które zaburzają bounding box.

  • Brak wspólnych punktów odniesienia między sekcjami

    Objawy: sekcje są poprawne lokalnie, ale na długiej stronie widać „złamania” rytmu: inne początki linii tekstu, inne osie kart, inne szerokości modułów.

    Naprawa: zdefiniuj kilka stałych osi, do których „łapiesz” większość elementów (np. lewa krawędź treści, oś kolumn, stała szerokość kontenera) i konsekwentnie je stosuj na wszystkich ekranach tego typu.

Szybki przebieg diagnostyki: zacznij od hierarchii i kontenerów (czy wszystko jest „w środku”), potem sprawdź reguły zachowania przy zmianie rozmiaru (przywiązania i rozciąganie), a na końcu ujednolić wartości odstępów i osie wyrównań. To zwykle usuwa 80% przypadków „pływania” bez przebudowy całego projektu.

💡 Pro tip: Diagnozę „pływania” zaczynaj od hierarchii (czy wszystko jest w odpowiednim kontenerze i czy to frame, nie grupa), potem sprawdź constraints/resize (Hug–Fill–Fixed), a dopiero na końcu poleruj wyrównania i spacing. Jeśli widzisz wartości odstępów typu 13/15/18 lub dużo override’ów na instancjach, napraw to w masterze i ujednolić skalę spacingu — zwykle znika większość problemów.

8. Checklist końcowy: spójność danych i czytelność (etykiety, skale, kontrast, dostępność)

Ostatni krok przed przekazaniem projektu to szybki przegląd, czy układ nie tylko „trzyma się siatki”, ale też jest zrozumiały, przewidywalny i dostępny. Poniższa checklista pomaga wychwycić najczęstsze problemy z prezentacją danych, hierarchią informacji i czytelnością.

  • Hierarchia informacji jest jednoznaczna: najważniejsze elementy (nagłówki, KPI, CTA, kluczowe filtry) mają wyraźny priorytet wizualny, a elementy pomocnicze nie konkurują z nimi.
  • Etykiety są konsekwentne: nazwy pól, przycisków i filtrów używają tego samego słownictwa, formy (np. tryb rozkazujący w CTA) oraz tej samej kapitalizacji.
  • Jednostki i formaty danych są spójne: waluty, procenty, skróty, daty i godziny mają jeden standard zapisu w całym interfejsie (również w tooltipach, legendach i eksportach).
  • Skale i osie w wizualizacjach nie wprowadzają w błąd: zakresy są czytelne, punkty odniesienia (0, min/max) są jasno zakomunikowane, a porównania między kartami/metrami nie mieszają różnych skal bez wyraźnej informacji.
  • Kolor nie jest jedynym nośnikiem znaczenia: stany (błąd/sukces/ostrzeżenie), serie na wykresach i statusy mają dodatkowe wsparcie w postaci ikon, wzorów, etykiet lub tekstu.
  • Kontrast jest wystarczający: tekst, ikony i kluczowe linie (np. na wykresach) nie „znikają” na tle; elementy drugorzędne są nadal czytelne, tylko mniej dominujące.
  • Rozmiary i waga typografii są konsekwentne: te same role (np. nagłówek sekcji, podpis, etykieta pola) mają identyczne parametry w całym projekcie, bez przypadkowych odchyleń.
  • Gęstość informacji jest kontrolowana: dashboardy nie są przeładowane, a w web/mobile kluczowe treści nie giną przez nadmiar detali; tam gdzie trzeba, stosowane są skróty z możliwością rozwinięcia.
  • Stany komponentów są kompletne: widoki pustego stanu, ładowania, błędu, braku uprawnień oraz stanów interakcji (hover/focus/disabled) są przewidziane i opisane.
  • Teksty są zrozumiałe i „scannable”: mikrocopy jest konkretne, unika żargonu, a dłuższe treści są podzielone na krótkie fragmenty (nagłówki, listy, wyróżnienia).
  • Interakcje są przewidywalne: elementy klikalne wyglądają jak klikalne, a nieklikalne nie udają akcji; miejsca kliknięcia są wystarczająco duże, zwłaszcza na mobile.
  • Focus i nawigacja klawiaturą są przemyślane: kolejność przechodzenia jest logiczna, a stan focus jest widoczny i nie ginie na tle.
  • Dostępność jest uwzględniona w treści: ikony mają sens bez koloru, komunikaty błędów mówią co i jak poprawić, a treści wrażliwe (np. ostrzeżenia) nie opierają się wyłącznie na subtelnych różnicach.
  • Przypadki brzegowe danych są sprawdzone: bardzo długie nazwy, duże liczby, brak danych, wartości ujemne, wartości skrajne oraz lokalizacje językowe nie psują czytelności i nie łamią układu.
  • Legenda i etykiety wykresów są jednoznaczne: użytkownik rozumie, co oznacza każda seria, kolor i metryka; skróty są rozwinięte w razie potrzeby.
  • Ikony są spójne stylistycznie: ta sama grubość linii, zaokrąglenia i sposób użycia (z tekstem lub bez), bez mieszania różnych zestawów.
  • Warstwy i nazewnictwo ułatwiają współpracę: kluczowe grupy, sekcje i komponenty są nazwane w sposób opisowy, co zmniejsza ryzyko błędów przy dalszych iteracjach.

Jeśli większość punktów przechodzi bez wahań, projekt jest zwykle gotowy do handoffu: dane są przedstawione konsekwentnie, a interfejs pozostaje czytelny w typowych i nietypowych scenariuszach.

Jeśli chcesz poznać więcej takich przykładów, zapraszamy na szkolenia Cognity, gdzie rozwijamy ten temat w praktyce.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments