Css строк сетки с четными элементами - PullRequest
0 голосов
/ 06 марта 2020

У меня есть ряд из 6 предметов. В зависимости от ширины он разбивает элементы на новые строки.

Проблема заключается в том, что это может произойти (звездочкой является элемент):

*****
*

Когда я измените размер экрана. Я хочу, чтобы он адаптировался, как показано ниже:

******
***
***
**
**
**
*
*
*
*
*
*

Я знаю, что могу использовать медиа-запросы для этого, но я надеюсь, что есть другое решение. Есть ли?

main {
  background: #eee;
  max-width: 600px;
}
section {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, auto));
  grid-gap: 1rem;
}

div {
  background: #ddd;
}
<main>
  <section>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
  </section>
</main>

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Вы должны работать с медиа-запросами. Я не думаю, что есть что-то еще, что имело бы смысл.

main {
  background: #eee;
  max-width: 600px;
}

section {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, auto));
  grid-template-rows: repeat(1, 1fr);
  grid-gap: 1rem;
}

@media only screen and (max-width: 800px) {
  section {
    grid-template-columns: repeat(3, minmax(100px, auto));
    grid-template-rows: repeat(2, 1fr)
   }
}

@media only screen and (max-width: 600px) {
  section {
    grid-template-columns: repeat(2, minmax(100px, auto));
    grid-template-rows: repeat(3, 1fr)
   }
}

@media only screen and (max-width: 400px) {
  section {
    grid-template-columns: repeat(1, minmax(100px, auto));
    grid-template-rows: repeat(6, 1fr)
   }
}

div {
  background: #ddd;
}
<main>
  <section>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
  </section>
</main>
0 голосов
/ 06 марта 2020

<html>
<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    

</head>
<body>
    <div class="row">
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-dark" name="">
        </div>
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-danger" name="">
        </div>
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-light" name="">
        </div>
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-primary" name="">
        </div>
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-info" name="">
        </div>
        <div class="col-lg-2 col-md-4 col-sm-6 col-xm-12">
            <input type="text" class="form-control bg-primary" name="">
        </div>
    </div>

</body>
</html>

Попробуйте это

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