CSSグリッドにおける個別要素の垂直軸方向の配置

同様の方法で、プロパティalign-selfを使用して 要素を垂直軸方向に配置することができます。 実際の例を見て、その動作を確認してみましょう。

垂直軸の始点に配置

最初の要素を垂直軸の始点に配置する設定をしてみましょう:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#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;
}

Результат:

垂直軸の中央に配置

最初の要素を垂直軸の中央に配置する設定をしてみましょう:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#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;
}

Результат:

垂直軸の終点に配置

グリッド内の最初の要素を垂直軸の終点に配置する設定をしてみましょう:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#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;
}

Результат:

実践的な課題

Задание 1

2つの列に配置された5つの要素からなるグリッドを作成してください。 3番目の要素をグリッドの垂直軸の始点に配置する設定を行ってください。

Задание 2

次に、要素を3つの列に配置し、2番目の要素をグリッドの垂直軸の中央に配置する設定を行ってください。

Задание 3

前の課題を変更し、4番目と5番目の要素がそれぞれ垂直軸の終点と始点に配置されるように設定してください。