Скарачэнне для радоў і слупкоў у CSS грідах

Бываюць сітуацыі, калі зручна паказаць памеры радоў і слупкоў у скарочанай форме. Для гэтага мы выкарыстоўваем уласцівасць grid-template, якая паказваецца ў элеменце-бацьку і ўяўляе сабой скарочаную форму запісу двух уласцівасцей grid-template-rows і grid-template-columns.

Рады і слупкі для грід-кантэйнера паказваюцца праз слэш, іх памеры вызначаюцца ў адзінках вымярэння.

Прыклад

Давайце з дапамогай уласцівасці 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;
}

Результат:

Прыклад

А цяпер давайце зададзім другому і трэцяму радам аднолькавую шырыню, а кожнаму слупку - розную шырыню:

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;
}

Результат:

Прыклад

А цяпер у табліцы з папярэдняга прыкладу зробім верхні рад шырынёй у дзве фракцыі, а першы слупок - у палову фракцыі:

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

Рэалізуйце наступную плітачку: