Generator CSS Grid
CSS Grid to standardowy sposób budowania układów 2D, ale składnię kontenera łatwo zapomnieć. Ten generator pisze reguły kontenera za Ciebie: stałą liczbę kolumn o równej szerokości, odstęp między torami oraz media query przełączające się na kolumny auto-fit poniżej minimalnej szerokości, aby układ pozostał czytelny na małych ekranach. Wynik to czysty CSS kontenera; rozmieszczenie elementów zostaje w Twoim arkuszu stylów.
Jak zbudować siatkę
-
1
Ustaw liczbę kolumn
Od 1 do 12 torów o równej szerokości.
-
2
Ustaw minimalną szerokość kolumny
Poniżej tej szerokości siatka przełącza się na auto-fit, aby każda kolumna zachowała minimalną użyteczną wielkość.
-
3
Ustaw odstęp
Przestrzeń między kolumnami i wierszami.
-
4
Wygeneruj CSS
Narzędzie zapisuje reguły kontenera oraz responsywną alternatywę.
-
5
Skopiuj kod
Wklej reguły kontenera do arkusza stylów i rozmieszczaj elementy własnymi regułami `grid-column` / `grid-row`.
Wygenerowany kontener
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
@media (max-width: 660px) {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
repeat(3, minmax(0, 1fr)): trzy kolumny dzielące dostępną szerokość po równo.1frto ułamek pozostałej przestrzeni;minmax(0, 1fr)pozwala kolumnom zmniejszać się poniżej rozmiaru zawartości.gap: odstęp między każdym torem.- Media query przełącza się na
repeat(auto-fit, minmax(220px, 1fr)), czyli tyle kolumn, ile się zmieści, każda o szerokości co najmniej 220px. Punkt przełomowy to liczba kolumn razy minimalna szerokość (z minimum 120px), więc na małych ekranach siatka łamie się do kolejnych wierszy zamiast się ściskać.
Jednostka fr
fr oznacza “ułamek pozostałej przestrzeni”: po odjęciu torów o stałym rozmiarze pozostała przestrzeń jest dzielona przez łączną liczbę jednostek fr.
grid-template-columns: 200px 1fr 2fr;
Na kontenerze o szerokości 1000px pierwsza kolumna zajmuje 200px, a pozostałe 800px dzielą się w stosunku 1:2, czyli 267px i 533px.
auto-fill a auto-fit
auto-fill: tworzy puste tory wypełniające, gdy nie ma wystarczającej liczby elementów.auto-fit: zwija puste tory do zera, więc pozostałe elementy rozciągają się, wypełniając wiersz.
Responsywna alternatywa używa auto-fit, czego potrzebują siatki kart: wiersz zawsze wygląda na pełny.
Kolumny o różnych szerokościach
Generator tworzy równe kolumny. Zmień wynik, aby mieszać rozmiary: grid-template-columns: 200px 1fr 2fr; daje stały pasek boczny i dwie elastyczne kolumny w stosunku 1:2. Dla obszarów nazwanych (grid-template-areas) lub jawnego rozmieszczania (grid-column: 1 / 3) dodaj te reguły ręcznie na bazie wygenerowanego kontenera.
Grid a Flexbox
- Grid: jawny układ 2D z torami. Dobry, gdy układ ma strukturę wierszy i kolumn (szkielet strony, galeria, panel).
- Flexbox: wyrównanie 1D wzdłuż jednej osi. Dobry, gdy elementy płyną naturalnie (pasek nawigacji, rząd przycisków).
Realne układy zwykle łączą oba: Grid dla szkieletu strony, Flexbox wewnątrz komponentów.
Częste błędy
- Zapomniany
min-width: 0na dzieciach: elementy siatki domyślnie mają minimalną szerokość zawartości, co uniemożliwia kolumnomfrzmniejszanie się poniżej najdłuższego słowa. Ustawmin-width: 0na dzieciach, aby mogły się zwężać. - Zagnieżdżanie bez
display: grid: dziecko siatki nie jest samo siatką, dopóki tego nie zadeklarujesz.
Najczęściej zadawane pytania
Chroni układ na małych ekranach. Wygenerowane media query przełącza się na repeat(auto-fit, minmax(szerokość, 1fr)), więc każda kolumna zachowuje co najmniej tę szerokość, a siatka dodaje wiersze zamiast ściskać kolumny.
Generator tworzy równe kolumny. Zmień linię grid-template-columns w wyniku, aby mieszać rozmiary, na przykład 1fr 2fr 1fr dla szerokiej środkowej kolumny albo 200px 1fr dla stałego paska bocznego.
Zwykle dlatego, że element ma domyślny min-width: auto, który odpowiada minimalnej szerokości jego zawartości. Ustaw min-width: 0 na elemencie siatki, aby mógł się zwężać wewnątrz komórki.
Grid, gdy układ ma strukturę wierszy i kolumn (układ strony, galeria zdjęć, panel). Flexbox, gdy elementy płyną wzdłuż jednej osi (pasek nawigacji, rząd przycisków, stos pól formularza).
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.