CSSグリッドにおける行と列の短縮記法

行と列のサイズを簡潔に指定すると便利な場合があります。そのためには、親要素で指定するgrid-templateプロパティを使用します。これは、grid-template-rowsとgrid-template-columnsの2つのプロパティを短縮して記述する形式です。

グリッドコンテナの行と列はスラッシュで区切って指定し、そのサイズは測定単位で定義されます。

例

grid-templateプロパティを使ってテーブルを作成しましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

例

では、2行目と3行目に同じ幅を設定し、各列には異なる幅を設定してみましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 60px 1fr 60px / 20% 1fr 15%;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

例

前の例のテーブルで、一番上の行の幅を2fr、最初の列の幅を0.5frに変更してみましょう:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
</div>
css#parent {
  display: grid;
  grid-template: 2fr 1fr 1fr / 0.5fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

実践タスク

Задание 1

次のタイルを実装してください:

Задание 2

次のタイルを実装してください:

Задание 3

次のタイルを実装してください:

Задание 4

次のタイルを実装してください:

Задание 5

次のタイルを実装してください: