Alinhamento de um elemento individual no eixo vertical do CSS Grid
Da mesma forma, é possível alinhar elementos
no eixo vertical usando a
propriedade align-self.
Vejamos com exemplos
como isso funciona.
No início do eixo vertical
Vamos definir o alinhamento para o primeiro elemento no início do eixo vertical:
<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: 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 {
align-self: start;
}
:
No centro do eixo vertical
Vamos definir o alinhamento do primeiro elemento no centro do eixo vertical:
<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 {
align-self: center;
}
:
No final do eixo vertical
Vamos definir o alinhamento do nosso primeiro elemento no grid para o final do eixo vertical:
<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 {
align-self: end;
}
:
Problemas práticos
Crie um grid, consistindo de cinco elementos, dispostos em duas colunas. Execute o alinhamento do terceiro elemento no início do eixo vertical do grid.
Agora posicione os elementos do grid em três colunas e defina o alinhamento do segundo elemento no centro do eixo vertical do grid.
Altere o problema anterior, para que o alinhamento do quarto e do quinto elementos ocorra no final e no início do eixo vertical, respectivamente.