Можете ли вы использовать grid-auto-flow: density, не зная, сколько элементов сетки у вас будет? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь стилизовать список функций и хотел бы разместить их в плотной сетке, но не смог этого сделать.

В настоящее время функции представлены с использованием гибкий бокс. В качестве общего примера:

.list {
  width: 400px;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-item.short {
  background-color: green;
  width: 100px;
}

.list-item.medium {
  background-color: blue;
  width: 200px;
}

.list-item.long {
  background-color: red;
  width: 300px;
}
<ul class="list">
  <li class="list-item medium">MEDIUM</li>
  <li class="list-item medium">MEDIUM</li>
  <li class="list-item long">LONG</li>
  <li class="list-item short">SHORT</li>
  <li class="list-item long">LONG</li>
  <li class="list-item short">SHORT</li>
  <li class="list-item long">LONG</li>
</ul>

Если вы запустите фрагмент, вы увидите пробелы в псевдокоде рядом с элементами длины medium, которые я хотел бы заполнить символом short длина элементов.

Итак, получаем от:

Before

Кому:

enter image description here

Мне казалось, что grid-auto-flow: row dense идеально подходит для этого, хотя я не могу заставить его работать. Есть ли способ сделать это?

На что стоит обратить внимание: в реальной жизни я не знаю длины, порядка и количества проходящих функций.

Я надеялся на это было бы просто, как:

.list {
  width: 400px;
  list-style: none;
  display: grid;
  grid-auto-flow: row dense;
} 

Но это не помогает - есть ли способ расположить столбцы / строки для этого? Интересно, работает ли dense только для подключения предметов вокруг других с фиксированным grid-area?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...