CSSグリッドのセル内における両軸配置

グリッドセル内の要素を水平軸と垂直軸の両方で同時に配置することが可能です。 この目的のために、親要素で設定される二つのプロパティ justify-items と align-items を組み合わせることができます。

軸の中央揃え

要素を水平軸と垂直軸の中央に配置してみましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  justify-items: center;
  align-items: center;
  grid-template-columns: 100px 100px;
  grid-template-rows: 100px 100px;
  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;
}

Результат:

デバッガーでグリッドを確認してみましょう:

水平軸の始点、垂直軸の終点

要素をセル内で水平軸の始点と垂直軸の終点に配置してみましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  justify-items: start;
  align-items: end;
  grid-template-columns: 100px 100px;
  grid-template-rows: 100px 100px;
  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;
}

Результат:

デバッガーでグリッドを確認してみましょう:

水平軸の終点、垂直軸の始点

要素をセル内で水平軸の終点と垂直軸の始点に配置してみましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#parent {
  display: grid;
  justify-items: end;
  align-items: start;
  grid-template-columns: 100px 100px;
  grid-template-rows: 100px 100px;
  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;
}

Результат:

デバッガーでグリッドを確認してみましょう:

実践的な課題

Задание 1

3行に配置された5つの要素からなるグリッドを作成してください。 セル内の要素を水平軸の始点と垂直軸の中央に配置してください。

Задание 2

今度は要素を2行に配置し、セル内の要素を水平軸の中央と垂直軸の始点に配置してください。

Задание 3

前の課題を変更して、要素の配置が水平軸の終点と垂直軸の中央になるようにしてください。