Propriedade grid-column-start
A propriedade grid-column-start define
a posição inicial de um elemento na grade ou grid
em relação às colunas. O valor da propriedade pode
ser um número positivo ou negativo.
Se definirmos um número positivo,
a posição inicial do elemento é contada da esquerda
para a direita. Ao especificar um número negativo, o elemento
será posicionado na ordem inversa,
ou seja, da direita para a esquerda.
Sintaxe
seletor {
grid-column-start: número positivo ou negativo;
}
Exemplo
Vamos definir para os elementos na grade as posições iniciais:
<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-start: 1;
}
#elem2 {
grid-column-start: 2;
}
#elem3 {
grid-column-start: 3;
}
:
Exemplo
E agora vamos especificar na propriedade grid-column-start
números negativos:
<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-start: -1;
}
#elem2 {
grid-column-start: -2;
}
#elem3 {
grid-column-start: -3;
}
:
Exemplo
E agora, usando a
propriedade grid-column-end,
vamos fazer com que o primeiro, segundo e terceiro elementos
se posicionem na primeira linha.
E o quarto elemento
ocupe toda a segunda linha:
<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-start: 1;
grid-column-end: 2;
}
#elem2 {
grid-column-start: 2;
grid-column-end: 3;
}
#elem3 {
grid-column-start: 3;
grid-column-end: 4;
}
#elem4 {
grid-column-start: 1;
grid-column-end: 4;
}
:
Exemplo
Ao sobrepor colunas ocupadas por elementos adjacentes, cada elemento subsequente é deslocado para uma linha abaixo. Vamos, levando em conta essa possibilidade, fazer com que o primeiro elemento se posicione na primeira linha, o segundo - na segunda, e o terceiro e quarto - ocupem a terceira linha:
<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-start: 1;
grid-column-end: 4;
}
#elem2 {
grid-column-start: 2;
grid-column-end: 3;
}
#elem3 {
grid-column-start: 1;
grid-column-end: 2;
}
#elem4 {
grid-column-start: 3;
grid-column-end: 4;
}
:
Veja também
-
a propriedade
grid-column-end,
que define a posição final do elemento na grade em relação às colunas -
a propriedade
grid-column,
que define as posições inicial e final do elemento na grade em relação às colunas -
a propriedade
grid-template-columns,
que define a quantidade e a largura das colunas na grade -
a propriedade
grid-auto-columns,
que define a quantidade e a largura das colunas na grade implícita