Ограничить строку сетки CSS определенным количеством элементов - PullRequest
0 голосов
/ 12 октября 2018

* {
  box-sizing: border-box;
}
main {
  padding: 0 20px;
  width: 100%; 
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
  grid-gap: 1em;
}

article {
  border-radius: 10px;
  padding: 20px;
  color: #fff;
}

article:nth-child(odd) {
  background-color: #55BBE9;
}

article:nth-child(even) {
  background-color: #afbe29;
}
<main>
  <article>1</article>
  <article>2</article>
  <article>3</article>
  <article>4</article>
  <article>5</article>
  <article>6</article>
  <article>7</article>
  <article>8</article>
  <article>9</article>
</main>

В приведенном выше примере, как я могу ограничить каждую строку только 3 article панелями, не устанавливая max-width?Обратите внимание, что я все еще хочу отзывчивость.Просто, когда я расширяю окно браузера, я не хочу, чтобы панели 4, 5, 6 и т. Д. Привязывались к первой строке.

1 Ответ

0 голосов
/ 12 октября 2018

Вам просто нужно установить grid-template-columns на auto для каждого столбца, который вы хотите.Размеры экрана 576 пикселей или меньше будут преобразованы в один столбец:

* {
  box-sizing: border-box;
}

main {
  padding: 0 20px;
  width: 100%;
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 1em;
}

@media (max-width: 576px) {
  main {
    grid-template-columns: auto;
  }
}

article {
  border-radius: 10px;
  padding: 20px;
  color: #fff;
}

article:nth-child(odd) {
  background-color: #55BBE9;
}

article:nth-child(even) {
  background-color: #afbe29;
}
<main>
  <article>1</article>
  <article>2</article>
  <article>3</article>
  <article>4</article>
  <article>5</article>
  <article>6</article>
  <article>7</article>
  <article>8</article>
  <article>9</article>
</main>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...