215 of 313 menu

Właściwość grid-template-rows

Właściwość grid-template-rows określa liczbę i szerokość rzędów, które element zajmie w gridzie lub siatce. W wartości właściwości podajemy szerokość rzędów w dowolnych jednostkach wymiaru. Właściwość jest określana w elemencie nadrzędnym i definiuje szerokość rzędów elementów potomnych.

Przy określaniu wartości w pikselach we właściwościach rozmiary rzędów będą dokładnie im odpowiadać. Jeśli podamy słowo auto, to rzędy będą wypełniać całą dostępną przestrzeń. Użycie jednostki fr (frakcja) oznacza, że cała przestrzeń zostanie podzielona na równe części. Zaletą fr jest jej adaptacyjność do różnych kontenerów lub rozdzielczości ekranu, ponieważ fr po prostu dzieli je na określoną liczbę frakcji bez przywiązania do dokładnego rozmiaru w pikselach.

Składnia

selektor { grid-template-rows: szerokość rzędu; }

Przykład

Ustawmy szerokość rzędów dla naszych elementów w gridzie:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: 50px 100px 50px 50px; border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Ustawmy pierwszemu i trzeciemu rzędowi stałą szerokość w pikselach, a drugi rząd niech automatycznie wypełni dostępną przestrzeń:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 100px auto 60px; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

A teraz za pomocą właściwości grid-template-rows sprawmy, aby pierwszy i drugi rząd zajęły jedną część kontenera, a trzeci rząd - trzy części:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 3fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Wartości podane w jednostkach fr mogą przyjmować postać ułamkową. Zmieńmy poprzedni przykład, podając dla drugiego i trzeciego rzędu szerokość w liczbach ułamkowych:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: 1fr 0.5fr 2.5fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Podajmy we właściwości grid-template-rows funkcję repeat(), która poinformuje kontener, że wszystkie trzy rzędy powinny mieć tę samą szerokość:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> </div> #parent { display: grid; grid-template-rows: repeat(3, 1fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

A teraz zmieńmy poprzedni przykład tak, aby do trzech identycznych rzędów dodać czwarty, który zajmie dwie frakcje kontenera:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(3, 1fr) 2fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Ustawmy pierwszym dwóm rzędom szerokość jednej frakcji kontenera, a ostatnim dwóm rzędom - dwie frakcje:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(2, 1fr) repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

A teraz ustawmy szerokość rzędów łącząc wartości podane za pomocą funkcji repeat() i swobodnych jednostek fr:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> #parent { display: grid; grid-template-rows: repeat(2, 1fr) 3fr repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; height: 300px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Również w funkcji repeat() można podawać wartość auto-fill, która wypełni nasz kontener identycznymi rzędami o żądanej przez nas szerokości:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fill, 50px); border: 2px solid #696989; padding: 10px; width: 400px; height: 200px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Bardzo wygodnie jest razem z auto-fill podać funkcję minmax, która ustawia zakres szerokości rzędów od wartości minimalnej do maksymalnej. Jeśli szerokość kontenera nie pomieści wszystkich rzędów, to niektóre z nich przeniosą się do nowego wiersza, przy czym rzędy w wierszu równomiernie rozłożą się w nim. Zmieńmy poprzedni przykład, podając w nim funkcję minmax:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fill, minmax(50px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Teraz podajmy właściwość auto-fit, która różni się od auto-fill tym, że dostosowuje liczbę rzędów do dostępnej szerokości kontenera, rozszerzając lub ściskając je:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: repeat(auto-fit, minmax(100px, 1fr)); border: 2px solid #696989; padding: 10px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Również obok fr można używać wartości w %, które również określają jaką część kontenera zajmie rząd. Przy czym najpierw będzie obliczany rozmiar rządu w %, a pozostała wolna przestrzeń zostanie podzielona na frakcje:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div> #parent { display: grid; grid-template-rows: 50% 1fr 2fr 30%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Użyjmy razem właściwości grid-template-columns i grid-template-rows:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

Za pomocą właściwości grid-template-columns i grid-template-rows stwórzmy tabelę z dziewięcioma komórkami, rozmieszczonymi w trzech rzędach. Przy czym drugi i trzeci rząd będą miały tę samą szerokość, a każda kolumna - różną szerokość:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 60px 1fr 60px; grid-template-columns: 20% 1fr 15%; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Przykład

A teraz w tabeli z poprzedniego przykładu zróbmy górny rząd o szerokości dwóch frakcji, a pierwszą kolumnę - o połowie frakcji:

<div id="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div> #parent { display: grid; grid-template-rows: 2fr 1fr 1fr; grid-template-columns: 0.5fr 1fr 1fr; border: 2px solid #696989; padding: 10px; width: 400px; height: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Zobacz też

  • właściwość grid-template-columns,
    która określa liczbę i szerokość kolumn w gridzie
  • właściwość grid-auto-rows,
    która określa liczbę i szerokość rzędów w niejawnym gridzie
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć