Egenskapen grid-column
Egenskapen grid-column anger
start- och slutposition för ett element
i ett grid eller rutnät längs kolumnerna. Egenskapsvärdena kan
vara positiva eller negativa tal,
angivna med ett snedstreck. Det första talet anger
elementets startposition, det andra - slutpositionen.
Om vi anger ett positivt tal som värde, räknas elementets position från vänster till höger. Om ett negativt tal anges kommer elementet att placeras i omvänd ordning, d.v.s. från höger till vänster.
Syntax
selektor {
grid-column: startposition / slutposition;
}
Exempel
Låt oss ange start- och slutpositioner för elementen i griddet:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 2;
}
#elem2 {
grid-column: 1 / 3;
}
#elem3 {
grid-column: 1 / 4;
}
:
Exempel
Och låt oss nu ange negativa tal
i egenskapen grid-column:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / -2;
}
#elem2 {
grid-column: 1 / -3;
}
#elem3 {
grid-column: 1 / -4;
}
:
Exempel
Nu gör vi så att det första, andra och tredje elementet placeras på den första raden. Och det fjärde elementet tar upp hela den andra raden:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 2;
}
#elem2 {
grid-column: 2 / 3;
}
#elem3 {
grid-column: 3 / 4;
}
#elem4 {
grid-column: 1 / 4;
}
:
Exempel
När kolumnerna som upptas av intilliggande element överlappar, flyttas varje efterföljande element ned en rad. Låt oss använda denna egenskap för att göra så att det första elementet placeras på den första raden, det andra - på den andra, och det tredje och fjärde - på den tredje raden:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
padding: 10px;
border: 2px solid #696989;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-column: 1 / 4;
}
#elem2 {
grid-column: 2 / 3;
}
#elem3 {
grid-column: 1 / 2;
}
#elem4 {
grid-column: 3 / 4;
}
:
Exempel
Låt oss kombinera egenskaperna grid-column
och grid-row:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 3;
}
#elem2 {
grid-row: 1 / 2;
}
#elem3 {
grid-row: 1 / 2;
}
#elem4 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
:
Exempel
Och låt oss nu göra så att det första och femte blocket tar upp hela raden, det andra blocket - två rader och två kolumner, och det tredje och fjärde blocket - en rad och två kolumner:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
<div id="elem5">5</div>
</div>
#parent {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
border: 2px solid #696989;
padding: 10px;
height: 300px;
width: 400px;
}
#parent > div {
padding: 10px;
border: 1px solid #696989;
}
#elem1 {
grid-row: 1 / 2;
grid-column: 1 / 4;
}
#elem2 {
grid-row: 2 / 4;
grid-column: 1 / 2;
}
#elem3 {
grid-row: 2 / 3;
grid-column: 2 / 4;
}
#elem4 {
grid-row: 3 / 3;
grid-column: 2 / 4;
}
#elem5 {
grid-row: 4 / 5;
grid-column: 1 / 4;
}
:
Se även
-
egenskapen
grid-row,
som anger start- och slutposition för ett element i ett grid längs raderna -
egenskapen
grid-column-start,
som anger startposition för ett element i ett grid längs kolumnerna -
egenskapen
grid-column-end,
som anger slutposition för ett element i ett grid längs kolumnerna -
egenskapen
grid-template-columns,
som anger antal och bredd på kolumner i ett grid -
egenskapen
grid-auto-columns,
som anger antal och bredd på kolumner i ett implicit grid