Как скрыть элемент, который не помещается в CSS Grid

Допустим у нас есть 5 элементов в grid:

.grid {
    width: 500px;
    border: 1px red solid;
    display: grid;
    grid-gap: 11px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.item {
  width: 100px;
  border: 1px blue solid;
  grid-column: span 3;
}
<div class="grid">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
</div>

Все 5 элементов не вмещаются в 1 строку. Каким образом можно скрыть не вмещающийся элемент? (Таких элементов может быть больше 1-го в зависимости от размера экрана пользователя)


Ответы (1 шт):

Автор решения: UserTest013

Нужно указать сколько строчек вы хотите отобразить(grid-template-rows), я так поняв в вашем случаи только 1. Далее надо указать размер автоматически добавляемых строк равным нулю (grid-auto-rows). Ну и наконец обрезать содержимое по высоте (overflow-y).

Возможно надо добавить row-gap, но это уже зависит от дизайна.

.grid {
  width: 500px;
  border: 1px red solid;
  display: grid;
  grid-gap: 11px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 1fr;
  grid-auto-rows: 0;
  overflow-y: hidden;
  row-gap: 0;
}

.item {
  width: 100px;
  border: 1px blue solid;
  grid-column: span 3;
}
<div class="grid">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
</div>

→ Ссылка