Трудно найти решение здесь, потому что не хватает данных, чтобы воспроизвести проблему.Но вот что это может быть:
Поскольку вы не определили явным образом ни одной строки в сетке, строки добавляются неявно, а их высоты по умолчанию установлены на grid-auto-rows: auto
.
Значения auto
и 1fr
растянутся, чтобы занять пустое место в контейнере.
Таким образом, разрыв, который вы видите на своем изображении № 1, равен , а не разрыв между строками.
Фактический разрыв междуколичество строк равно 5 пикселям, как установлено правилом grid-row-gap
.
Между строками возникает разрыв , поскольку элементы сетки не заполняют высоту строки.
Посмотрите на это так:
- Есть две строки.
- Контейнер установлен в
height: 250px
. - Строки разделяютсявысота в равной степени, поэтому каждая строка имеет высоту 122,5 пикселя (после вычитания разрыва строки сетки 5px).
- Но элементы внутри этих строк установлены на
height: 100px
. - Так что естьРазрыв в 22,5 пикселя между нижним краем элементов и нижним краем строки.
Если у вас есть три строки, это свободное пространство необходимо, и строки закрываются.
Вот три возможных решения:
- Вместо
auto
или fr
, попробуйте grid-auto-rows: min-content
- Удалите
height: 250px
на контейнере;это устанавливает высоту контейнера в высоту содержимого (т. е. height: auto
) - Добавьте
align-content: start
в контейнер
Для получения дополнительной информации см. эти сообщения: