213 of 313 menu

Egenskapen grid-template-columns

Egenskapen grid-template-columns anger antalet och bredden på de kolumner som elementet kommer att uppta i ett rutnät eller grid. Egenskapen anges i föräldraelementet och bestämmer bredden på kolumnerna för barnelementen. I egenskapens värde anger vi kolumnbredderna i valfri enhet för storlekar.

När pixelvärden anges i egenskaperna kommer kolumnstorlekarna exakt att motsvara dessa. Om vi anger ordet auto kommer kolumnerna att fylla all tillgängligt utrymme. Att använda enheten fr (fraktion) betyder att allt utrymme kommer att delas upp i lika delar. Fördelen med fr är dess anpassningsförmåga till olika behållare eller skärmupplösningar, eftersom fr helt enkelt delar upp dem i det angivna antalet fraktioner utan koppling till en exakt storlek i pixlar.

Syntax

selektor { grid-template-columns: kolumnbredd; }

Exempel

Låt oss ange kolumnbredder för våra element i rutnätet:

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

:

Exempel

Låt oss ange en fast bredd i pixlar för första och tredje kolumnen, medan den andra kolumnen fyller automatiskt ut tillgängligt utrymme:

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

:

Exempel

Och nu med hjälp av egenskapen grid-template-columns gör vi så att första och andra kolumnen tar upp en del av behållaren, och den tredje kolumnen - tre delar:

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

:

Exempel

Värden angivna i enheten fr kan ta bråkform. Låt oss ändra föregående exempel genom att ange bredden för den andra och tredje kolumnen i decimaltal:

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

:

Exempel

Låt oss i egenskapen grid-template-columns ange funktionen repeat(), som talar om för behållaren att alla tre kolumner ska ha samma bredd:

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

:

Exempel

Och låt oss nu ändra föregående exempel så att till de tre likadana kolumnerna läggs en fjärde, som tar upp två fraktioner av behållaren:

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

:

Exempel

Låt oss ange för de två första kolumnerna en bredd på en fraktion av behållaren, och för de två sista kolumnerna - två fraktioner:

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

:

Exempel

Och låt oss nu ställa in kolumnbredderna genom att kombinera värden, angivna med hjälp av funktionen repeat() och fria enheter 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; }

:

Exempel

Även i funktionen repeat() kan man ange värdet auto-fill, som fyller vår behållare med likadana kolumner med önskad bredd:

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

:

Exempel

Det är mycket bekvämt att tillsammans med auto-fill ange funktionen minmax, som sätter ett intervall för kolumnbredderna från ett minimivärde till ett maximivärde. Om behållarens bredd inte rymmer alla kolumner kommer några av dem att flyttas ned till en ny rad, medan kolumnerna på raden jämnt fördelas i den. Låt oss ändra föregående exempel genom att ange funktionen minmax i det. För att se olika placeringsalternativ för kolumner, ändra bredden på din webbläsares sida:

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

:

Exempel

Låt oss nu ange egenskapen auto-fit, vilket skiljer sig från auto-fill genom att den anpassar antalet kolumner efter behållarens tillgängliga bredd, genom att utvidga eller komprimera dem:

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

:

Exempel

Förutom fr kan man också använda värden i %, som också anger vilken del av behållaren som kolumnen ska uppta. Då kommer storleken på kolumnen först att beräknas i %, och det återstående lediga utrymmet kommer att delas upp i fraktioner:

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

:

Exempel

Låt oss använda egenskaperna grid-template-columns och grid-template-rows tillsammans:

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

:

Exempel

Låt oss med hjälp av egenskaperna grid-template-columns och grid-template-rows skapa en tabell med nio celler, placerade i tre rader. Dessutom kommer den andra och tredje raden att ha samma bredd, och varje kolumn - olika bredd:

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

:

Exempel

Och nu i tabellen från föregående exempel gör vi så att den övre raden blir två fraktioner bred, och den första kolumnen - en halv fraktion:

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

:

Se även

  • egenskapen grid-template-rows,
    som anger antalet och bredden på rader i ett rutnät
  • egenskapen grid-auto-columns,
    som anger antalet och bredden på kolumner i ett implicit rutnät
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa