Właściwość CSSGrid

grid-template-columns

Definiuje kolumny siatki: ich liczbę i szerokości.

Wartość domyślna
none
Dziedziczona
Nie
Animowalna
tak, gdy zmieniają się tylko wartości przy tej samej liczbie kolumn
Dotyczy
kontenery grid
JavaScript
element.style.gridTemplateColumns = "1fr 2fr"
Na tej stronie

Przykład

#
CSS
.courses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
Podgląd

Definicja i zastosowanie

#

Właściwość grid-template-columns to serce układu CSS Grid. Każda wartość na liście to jedna kolumna, więc 200px 1fr 1fr tworzy trzy kolumny: pierwszą o stałej szerokości i dwie dzielące resztę miejsca po równo.

Jednostka fr oznacza ułamek wolnego miejsca, a funkcja repeat() skraca powtarzające się wzorce. Zapis repeat(auto-fill, minmax(160px, 1fr)) tworzy tyle kolumn o szerokości co najmniej 160px, ile się zmieści, bez żadnych zapytań @media.

Elementy siatki trafiają automatycznie do kolejnych komórek, wiersz po wierszu. Wiersze, których nie zdefiniujesz, powstają same i dostają wysokość z grid-auto-rows.

Składnia

#
Składnia
grid-template-columns: none | <rozmiar ścieżki>+ | repeat(…) | subgrid;

Wartości

#

Wartości w praktyce

#

100px 100px

Dwie kolumny o stałej szerokości.
.demo { grid-template-columns: 100px 100px; }

1fr 2fr

Druga kolumna jest dwa razy szersza od pierwszej.
.demo { grid-template-columns: 1fr 2fr; }

repeat(3, 1fr)

Trzy równe kolumny.
.demo { grid-template-columns: repeat(3, 1fr); }

80px 1fr auto

Stała kolumna, elastyczna i dopasowana do treści.
.demo { grid-template-columns: 80px 1fr auto; }

repeat(auto-fill, minmax(70px, 1fr))

Tyle kolumn o szerokości co najmniej 70px, ile się zmieści. Siatka sama dopasowuje się do szerokości.
.demo { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • minmax(160px, 1fr) z auto-fill lub auto-fit to najprostsza responsywna siatka kart bez zapytań o szerokość ekranu.
  • fr dzieli wolne miejsce, dlatego 1fr 1fr nie zawsze daje równe kolumny przy dużej treści. Pomaga minmax(0, 1fr).

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.