Propriedade para alinhar um elemento individual na Grid do CSS
É possível alinhar um elemento individual
simultaneamente nos eixos horizontal e vertical.
Para isso, usa-se a propriedade place-self.
Ela aceita dois valores separados por um espaço.
O primeiro valor especifica o alinhamento
vertical e o segundo, o horizontal.
Vamos ver alguns exemplos.
No centro vertical e início horizontal
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
grid-gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
grid-gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
place-self: center start;
}
:
No início vertical e fim horizontal
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
grid-gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
grid-gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
place-self: start end;
}
:
No fim vertical e centro horizontal
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
grid-gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
grid-gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
place-self: end center;
}
:
Tarefas práticas
Crie uma grid composta por cinco elementos e posicione-os em três linhas. Alinhe o primeiro elemento no início do eixo horizontal e no centro do eixo vertical.
Altere a tarefa anterior para que o alinhamento do terceiro elemento seja no fim do eixo horizontal e no centro do eixo vertical.
Agora, posicione os elementos da grid em duas linhas e defina o alinhamento do quinto elemento no centro do eixo horizontal e no fim do eixo vertical.
Faça com que o segundo elemento seja alinhado no início do eixo horizontal e no fim do eixo vertical, e o quarto elemento - no centro do eixo horizontal e no início do eixo vertical.