213 of 313 menu

Svojstvo grid-template-columns

Svojstvo grid-template-columns zadaje broj i širinu kolona koje će element zauzimati u gridu ili mreži. Svojstvo se navodi u elementu-roditelju i određuje širinu kolona elemenata-potomaka. U vrednosti svojstva navodimo širinu kolona u bilo kojim jedinicama za veličine.

Pri navođenju u svojstvima vrednosti u pikselima veličine kolona će tačno odgovarati tim vrednostima. Ako zadamo reč auto, onda će kolone popuniti sav dostupan prostor. Korišćenje jedinice fr (frakcija) znači, da će sav prostor biti podeljen na jednake delove. Prednost fr je njegova adaptivnost na različite kontejnere ili rezolucije ekrana, pošto fr jednostavno deli prostor na naznačeni broj frakcija bez vezivanja za tačnu veličinu u pikselima.

Sintaksa

selektor { grid-template-columns: širina kolone; }

Primer

Hajde da zadamo širinu kolona za naše elemente u gridu:

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

:

Primer

Hajde da naznačimo prvoj i trećoj koloni fiksnu širinu u pikselima, a druga kolona neka automatski popuni dostupan prostor:

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

:

Primer

A sada pomoću svojstva grid-template-columns učinimo da prva i druga kolona zauzmu jedan deo kontejnera, a treća kolona - tri dela:

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

:

Primer

Vrednosti, naznačene u jedinicama fr mogu imati razlomljene vrednosti. Hajde da izmenimo prethodni primer, navodeći za drugu i treću kolonu širinu u razlomljenim brojevima:

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

:

Primer

Hajde u svojstvu grid-template-columns da navedemo funkciju repeat(), koja će kontejneru saopštiti da sve tri kolone treba da imaju jednaku širinu:

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

:

Primer

A sada hajde da izmenimo prethodni primer tako da se na tri iste kolone doda četvrta, koja će zauzeti dve frakcije kontejnera:

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

:

Primer

Hajde da zadamo prvim dve kolone širinu u jednu frakciju kontejnera, a poslednjim dve kolone - u dve frakcije:

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

:

Primer

A sada hajde da postavimo širinu kolonama kombinujući vrednosti, naznačene pomoću funkcije repeat() i slobodnih jedinica 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-columns: repeat(2, 1fr) 3fr repeat(2, 2fr); border: 2px solid #696989; padding: 10px; width: 400px; } #parent > div { padding: 10px; border: 1px solid #696989; }

:

Primer

Takođe u funkciji repeat() možemo navoditi vrednost auto-fill, koja će popuniti naš kontejner istim kolonama željene širine:

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

:

Primer

Veoma je zgodno zajedno sa auto-fill navoditi funkciju minmax, koja zadaje opseg širine kolona od minimalne do maksimalne vrednosti. Ako širina kontejnera ne može da primi sve kolone, onda će neke od njih biti premeštene na novi red, pri čemu će se kolone u redu ravnomerno rasporediti u njemu. Hajde da izmenimo prethodni primer, navodeći u njemu funkciju minmax. Da biste videli različite varijante raspoređivanja kolona menjajte širinu stranice svog pregledača:

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

:

Primer

Sada hajde da navedemo svojstvo auto-fit, čija se razlika od auto-fill sastoji u tome, da ono prilagođava broj kolona dostupnoj širini kontejnera, proširujući ili skupljajući ih:

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

:

Primer

Takođe pored fr možemo koristiti vrednosti u %, koje takođe određuju koji deo kontejnera će kolona zauzimati. Pri tome će se prvo izračunati veličina kolone u %, a preostali slobodni prostor biti podeljen na frakcije:

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

:

Primer

Hajde da iskoristimo zajedno svojstva 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; }

:

Primer

Hajde pomoću svojstava grid-template-columns i grid-template-rows da kreiramo tabelu od devet ćelija, raspoređenih u tri reda. Povrh toga, drugi i treći red će imati jednaku širinu, a svaka kolona - različitu širinu:

<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; }

:

Primer

A sada u tabeli iz prethodnog primera učinimo da gornji red ima širinu od dve frakcije, a prva kolona - od pola frakcije:

<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; }

:

Pogledajte takođe

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij