Сокращение для выравнивания отдельного элемента в CSS гриде
Можно одновременно выравнять отдельный элемент
и по горизонтальной, и по вертикальной осям.
Для этого используется свойство place-self.
Оно принимает два значения через пробел.
Первым значением указывается выравнивание
по вертикали, а вторым - по горизонтали.
Давайте посмотрим на примерах.
По центру вертикальной и началу горизонтальной
<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;
}
:
По началу вертикальной и концу горизонтальной
<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;
}
:
По концу вертикальной и по центру горизонтальной
<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;
}
:
Практические задачи
Создайте грид, состоящий из пяти элементов и расположите их по трем рядам. Выполните выравнивание первого элемента по началу горизонтальной и центру вертикальной осей.
Измените предыдущую задачу так, чтобы выравнивание третьего элемента происходило по концу горизонтальной и центру вертикальной осей.
Теперь расположите элементы грида по двум рядам и задайте выравнивание пятого элемента по центру горизонтальной и концу вертикальной осей.
Сделайте так, чтобы второй элемент был выравнен по началу горизонтальной и концу вертикальной осей, а четвертый элемент - по центру горизонтальной и началу вертикальной осей.