Tailwind CSS Academy · Lekcja

Definiowanie kolumn siatki

Tworzyć układy wielokolumnowe za pomocą grid-cols-1 do grid-cols-12 oraz używać grid-cols-none do niestandardowych konfiguracji.

Lekcja 1 z 413 kroki

Definiowanie kolumn siatki to bezpłatna lekcja Tailwind CSS Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Tailwind CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Tailwind CSS Academy zawiera 4 lekcji w sumie.

CSS Grid w Tailwind

CSS Grid to dwuwymiarowy system układu, który pozwala jednocześnie rozmieszczać elementy w wierszach i kolumnach. Tailwind CSS udostępnia klasy narzędziowe bezpośrednio odpowiadające właściwościom CSS Grid, dzięki czemu nie trzeba ręcznie wpisywać display: grid ani grid-template-columns. Wystarczy dodać odpowiednie nazwy klas do elementów HTML.

<div class="grid">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>

Włączanie wyświetlania Grid

Aby zmienić element w kontener siatki, należy zastosować klasę grid. Bez definicji kolumn wszystkie elementy potomne są domyślnie układane w jednej kolumnie. To punkt wyjścia dla każdego układu Grid w Tailwind — każde dodane narzędzie grid bazuje na klasie grid.

<!-- Single-column grid by default -->
<div class="grid gap-4">
  <div class="bg-blue-100 p-4">Card 1</div>
  <div class="bg-blue-100 p-4">Card 2</div>
  <div class="bg-blue-100 p-4">Card 3</div>
</div>

Narzędzia grid-cols-N

Tailwind udostępnia klasy od grid-cols-1 do grid-cols-12, które dzielą kontener na kolumny o jednakowej szerokości. Wewnętrznie grid-cols-3 jest kompilowane do grid-template-columns: repeat(3, minmax(0, 1fr)). Oznacza to, że wszystkie kolumny równomiernie dzielą dostępną szerokość, dzięki czemu rozwiązanie doskonale sprawdza się w siatkach kart i sekcjach z wyróżnionymi funkcjami.

<!-- 3-column equal grid -->
<div class="grid grid-cols-3 gap-4">
  <div class="bg-green-100 p-4">Col 1</div>
  <div class="bg-green-100 p-4">Col 2</div>
  <div class="bg-green-100 p-4">Col 3</div>
  <div class="bg-green-100 p-4">Col 4</div>
  <div class="bg-green-100 p-4">Col 5</div>
  <div class="bg-green-100 p-4">Col 6</div>
</div>

Typowe liczby kolumn

Różne liczby kolumn sprawdzają się w różnych zastosowaniach. Siatka z 2 kolumnami dobrze nadaje się do sekcji z podzieloną treścią, 3 kolumny do wierszy z funkcjami, a 4 lub 6 kolumn do galerii produktów lub obrazów. Tailwind obsługuje każdą liczbę całkowitą od 1 do 12, zapewniając taki sam zakres jak system siatki Bootstrapa, ale bez kontenerów wierszy.

<!-- 2-col layout -->
<div class="grid grid-cols-2 gap-6">
  <div class="bg-purple-100 p-6">Left panel</div>
  <div class="bg-purple-100 p-6">Right panel</div>
</div>

<!-- 4-col product grid -->
<div class="grid grid-cols-4 gap-4">
  <div class="bg-yellow-100 p-4">Product</div>
  <div class="bg-yellow-100 p-4">Product</div>
  <div class="bg-yellow-100 p-4">Product</div>
  <div class="bg-yellow-100 p-4">Product</div>
</div>

System siatki z 12 kolumnami

Siatka z 12 kolumnami to klasyczna konwencja projektowa, ponieważ 12 dzieli się przez 1, 2, 3, 4 i 6, zapewniając dużą elastyczność układu. W przypadku grid-cols-12 Tailwind każdy element potomny domyślnie zajmuje jedną kolumnę. Następnie za pomocą col-span-* na poszczególnych elementach można sprawić, że będą zajmować wiele kolumn — omówimy to w następnej lekcji.

<!-- 12-column base -->
<div class="grid grid-cols-12 gap-2">
  <!-- Each child spans 1 col unless told otherwise -->
  <div class="bg-red-100 p-2">1</div>
  <div class="bg-red-100 p-2">2</div>
  <div class="bg-red-100 p-2">3</div>
  <!-- ...up to 12 -->
</div>

grid-cols-none dla niestandardowych siatek

Gdy wstępnie zdefiniowane ustawienia od 1 do 12 nie wystarczają, użyj grid-cols-none, aby usunąć szablon kolumn, a następnie zdefiniuj własny za pomocą wartości niestandardowych grid-cols-[...]. Notacja nawiasowa pozwala wpisać dowolną prawidłową wartość CSS grid-template-columns bezpośrednio w nazwie klasy, zapewniając nieograniczoną elastyczność bez opuszczania kodu HTML.

<!-- Custom column widths with arbitrary values -->
<div class="grid grid-cols-[200px_1fr_2fr] gap-4">
  <div class="bg-indigo-100 p-4">Fixed 200px</div>
  <div class="bg-indigo-100 p-4">1 fraction</div>
  <div class="bg-indigo-100 p-4">2 fractions</div>
</div>

Subgrid w Tailwind

Nowoczesne przeglądarki obsługują słowo kluczowe subgrid, które pozwala zagnieżdżonej siatce dziedziczyć ścieżki kolumn siatki nadrzędnej. Tailwind v3.4+ zawiera przeznaczoną do tego klasę grid-cols-subgrid. Subgrid doskonale sprawdza się przy wyrównywaniu etykiet formularzy wewnątrz komponentów kart umieszczonych w siatce nadrzędnej — elementy wewnętrzne każdej karty są wyrównane do ogólnych linii siatki.

<!-- Parent grid with 3 columns -->
<div class="grid grid-cols-3 gap-4">
  <!-- Child that spans 2 cols and uses subgrid internally -->
  <div class="col-span-2 grid grid-cols-subgrid gap-2">
    <div class="bg-teal-100 p-3">A</div>
    <div class="bg-teal-100 p-3">B</div>
  </div>
  <div class="bg-teal-200 p-3">C</div>
</div>

Łączenie siatki z odstępami

Narzędzia gap-* dodają spójne odstępy między komórkami siatki. Użyj gap-4, aby ustawić jednolite odstępy w obu kierunkach, gap-x-4 dla odstępów tylko w poziomie oraz gap-y-6 dla odstępów tylko w pionie. W przeciwieństwie do marginesów właściwość gap nie dodaje dodatkowego miejsca przy zewnętrznych krawędziach siatki, dzięki czemu układ pozostaje przejrzysty i przewidywalny.

<!-- Different horizontal and vertical gaps -->
<div class="grid grid-cols-3 gap-x-8 gap-y-4">
  <div class="bg-orange-100 p-4">A</div>
  <div class="bg-orange-100 p-4">B</div>
  <div class="bg-orange-100 p-4">C</div>
  <div class="bg-orange-100 p-4">D</div>
  <div class="bg-orange-100 p-4">E</div>
  <div class="bg-orange-100 p-4">F</div>
</div>

Responsywne definiowanie kolumn

W większości rzeczywistych układów na małych ekranach potrzebują Państwo mniej kolumn, a na większych — więcej. Prefiksy responsywne Tailwind upraszczają to zadanie: grid-cols-1 md:grid-cols-2 lg:grid-cols-4 układa elementy jeden pod drugim na urządzeniach mobilnych, wyświetla dwie kolumny na tabletach i cztery na komputerach. Podejście mobile-first oznacza, że klasa bez prefiksu jest ustawieniem bazowym, a klasy z prefiksami zastępują je przy większych punktach przerwania.

<!-- Mobile: 1 col, tablet: 2 cols, desktop: 4 cols -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
  <div class="bg-sky-100 p-6 rounded-lg">Card A</div>
  <div class="bg-sky-100 p-6 rounded-lg">Card B</div>
  <div class="bg-sky-100 p-6 rounded-lg">Card C</div>
  <div class="bg-sky-100 p-6 rounded-lg">Card D</div>
</div>

Kolumny auto-fill a auto-fit

Słowa kluczowe auto-fill i auto-fit w CSS Grid tworzą dynamiczną liczbę kolumn na podstawie dostępnego miejsca. Dzięki składni wartości niestandardowych Tailwind można napisać grid-cols-[repeat(auto-fill,minmax(200px,1fr))], aby automatycznie dodawać kolumny, gdy pozwala na to dostępna przestrzeń. auto-fill zachowuje puste ścieżki, natomiast auto-fit je zwija — oba rozwiązania tworzą naprawdę płynne siatki bez zapytań medialnych.

<!-- Auto-filling card grid: min 250px per card -->
<div class="grid gap-4" style="grid-template-columns: repeat(auto-fill, minmax(250px, 1fr))">
  <div class="bg-pink-100 p-4 rounded">Card 1</div>
  <div class="bg-pink-100 p-4 rounded">Card 2</div>
  <div class="bg-pink-100 p-4 rounded">Card 3</div>
  <div class="bg-pink-100 p-4 rounded">Card 4</div>
  <div class="bg-pink-100 p-4 rounded">Card 5</div>
</div>

Praktyczna siatka funkcji z trzema kolumnami

Łącząc wszystkie elementy, otrzymujemy rzeczywisty wzorzec sekcji funkcji stosowany na stronach marketingowych. Każda karta funkcji zawiera ikonę, nagłówek i opis. Siatka ma ustawienie grid-cols-1 sm:grid-cols-3, więc na urządzeniach mobilnych elementy są ułożone jeden pod drugim, a na większych ekranach rozchodzą się na trzy kolumny. Spójne dopełnienie i subtelne tło zapewniają wizualne oddzielenie bez obramowań.

<section class="grid grid-cols-1 sm:grid-cols-3 gap-8 px-8 py-12">
  <div class="text-center">
    <div class="text-4xl mb-4">🚀</div>
    <h3 class="font-bold text-lg mb-2">Fast</h3>
    <p class="text-gray-600">Ships in milliseconds.</p>
  </div>
  <div class="text-center">
    <div class="text-4xl mb-4">🔒</div>
    <h3 class="font-bold text-lg mb-2">Secure</h3>
    <p class="text-gray-600">Built-in protection.</p>
  </div>
  <div class="text-center">
    <div class="text-4xl mb-4">📱</div>
    <h3 class="font-bold text-lg mb-2">Responsive</h3>
    <p class="text-gray-600">Works on all devices.</p>
  </div>
</section>

Szybkie sprawdzenie

Sprawdź swoją znajomość zagadnień Tailwind CSS Mastery z tej lekcji.

Podsumowanie lekcji

W tej lekcji nauczyli się Państwo, że: klasa grid aktywuje kontener CSS Grid, klasy od grid-cols-1 do grid-cols-12 definiują ścieżki kolumn o jednakowej szerokości, a prefiksy responsywne, takie jak md:grid-cols-3, przełączają liczbę kolumn w punktach przerwania. Następnie omówimy, jak sprawić, aby elementy siatki zajmowały wiele kolumn i wierszy w złożonych układach.

Bezpłatny start

Ucz się HTML dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Definiowanie kolumn siatki” jest bezpłatna?

Tak — pełny tekst „Definiowanie kolumn siatki” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Tailwind CSS Academy, przejdź na CoddyKit PRO. Kurs Tailwind CSS Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Definiowanie kolumn siatki”?

Tworzyć układy wielokolumnowe za pomocą grid-cols-1 do grid-cols-12 oraz używać grid-cols-none do niestandardowych konfiguracji. Ćwiczysz Tailwind CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Tailwind CSS Academy?

Nie wymagamy żadnego doświadczenia. Tailwind CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Definiowanie kolumn siatki”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Tailwind CSS Academy?

Tak. Każda lekcja Tailwind CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Definiowanie kolumn siatki
  2. Rozpiętość kolumn i wierszy
  3. Wiersze siatki i automatyczne rozmieszczanie
  4. Odstępy, justowanie i wyrównywanie w siatce
← Powrót do Tailwind CSS Academy