#html #css #css-grid
Вопрос:
Мне нужно автоматически заполнять столбцы любым числом от 2 до 4. Мне нужна общая ширина столбцов, чтобы заполнить ширину сетки для 2, 3 или 4 возможных столбцов.
Но когда я пробую код, который я вижу на страницах решений SO и учебников, например, на странице трюков CSS, они описывают автоматическое заполнение примерно так:
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
Но когда я делаю это в Хроме, там написано invalid property value
.
HTML-это что-то вроде:
<div class="my-grid">
<div class="some-column"></div>
<div class="some-column"></div>
<div class="some-column"></div>
</div>
Как сделать так, чтобы любое количество столбцов автоматически заполнялось и заполняло ширину моей сетки в Chrome?
Комментарии:
1. CSS, который у вас есть, правильный. С каким HTML вы работаете?
2. Обновлено, чтобы показать, что такое мой HTML.
Ответ №1:
Ты был почти там. Вместо auto-fill
того, что тебе нужно auto-fit
.
Однако обратите внимание, что это НЕ ограничит количество столбцов только 4. Он создаст столько столбцов, сколько необходимо, чтобы они соответствовали разрешенной ширине.
.my-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
margin-bottom: 1em;
;
}
.some-column {
height: 50px;
border: 1px solid red;
}
<div class="my-grid">
<div class="some-column"></div>
<div class="some-column"></div>
<div class="some-column"></div>
</div>
<div class="my-grid">
<div class="some-column"></div>
<div class="some-column"></div>
</div>
<div class="my-grid">
<div class="some-column"></div>
<div class="some-column"></div>
<div class="some-column"></div>
<div class="some-column"></div>
</div>
Ответ №2:
Я обычно использую это:
display: grid;
grid-template-columns: auto auto auto auto;
Chrome поддерживает столбцы шаблона сетки, поэтому у вас, вероятно, есть синтаксическая ошибка. Опубликуйте свой код, и я, вероятно, смогу помочь больше.
Комментарии:
1. Вы правы. Код действителен. Там была опечатка. Но теперь я вижу, что решение не работает. Он не заполняет сетку…
2. вы тоже можете опубликовать свой CSS?