CSSグリッド内の個別要素の位置揃えのための短縮記法
個別の要素を水平軸と垂直軸の両方で同時に揃えることができます。
このために、place-selfプロパティが使用されます。
このプロパティはスペースで区切られた2つの値を受け取ります。
最初の値は垂直方向の位置揃えを指定し、2番目の値は水平方向の位置揃えを指定します。
例を見てみましょう。
垂直方向中央揃え、水平方向始端揃え
<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;
}
:
実践問題
3行からなるグリッドを作成し、5つの要素を配置してください。 最初の要素を水平軸は始端揃え、垂直軸は中央揃えにしてください。
前の問題を変更し、3番目の要素の位置揃えを 水平軸は終端揃え、垂直軸は中央揃えにしてください。
今度は2行からなるグリッドに要素を配置し、 5番目の要素の位置揃えを水平軸は中央揃え、 垂直軸は終端揃えに設定してください。
2番目の要素を水平軸は始端揃え、垂直軸は終端揃えにし、 4番目の要素を水平軸は中央揃え、垂直軸は始端揃えに してください。