Значението на auto-fit в CSS гридовете

Сега нека разгледаме стойността auto-fit, която също се прилага при задаване на колони с еднакъв размер съвместно с функцията repeat. Разликата ѝ от стойността auto-fill се състои в това, че auto-fit нагаря броя на колоните според достъпната ширина на контейнера, разширявайки или свивайки ги.

Пример

Нека разгледаме действието на стойността auto-fit върху пример с контейнер с осем елемента. Нека приложим заедно със стойността auto-fit познатата ви от предишния урок функция minmax:

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>
css#parent {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Пример

А сега нека намалим ширината на грид контейнера до 400px:

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>
css#parent {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Практически задачи

Задание 1

Нека имате таблица от девет елемента. Задайте за тях с помощта на стойността auto-fit такава ширина на колоните и ширина на грид контейнера, че всички дъщерни елементи да се разположат в три реда.

Задание 2

А сега модифицирайте предходната задача така, че всички елементи да се разположат в два реда.