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

水平軸方向の配置は、親要素だけでなく、 それぞれの子要素に対して個別に設定することもできます。 この目的で使用されるのが、 プロパティjustify-selfです。

水平軸の先頭揃え

最初の要素を水平軸の先頭に揃えて配置してみましょう:

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 {
  justify-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 {
  justify-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 {
  justify-self: end;
}

Результат:

実践的な課題

Задание 1

2行に配置された5つの要素からなるグリッドを作成してください。 2番目の要素を水平軸の先頭に揃えて配置してください。

Задание 2

次に、グリッドの要素を3行で配置し、 3番目の要素をグリッドの水平軸の中央に揃えて配置してください。

Задание 3

前の課題を変更して、 5番目の要素が水平軸の末尾に揃うように配置してください。