13

Here is an example:

.wrap {
  display: flex;
}

.wrap2 {
  padding: 4px;
  margin: 20px;
  outline: 1px dashed;
  display: flex;
  flex-wrap: wrap;
  max-width: 310px;
}

.box {
  width: 40px;
  height: 40px;
  outline: 1px solid;
}
<div class="wrap">
  <div class="wrap2">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
  </div>
</div>

And here is what I need:

Img

I tried to wrap flex container with another flex, but it didnt work. Is there any CSS only solution, or i should use js to achive desired result?

Michael Benjamin
  • 307,417
  • 93
  • 525
  • 644
DTXqueque
  • 313
  • 2
  • 10

1 Answers1

-1

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <style>

.wrap {
  display: flex;
}

.wrap2 {
  padding: 4px;
  margin: 20px;
  outline: 1px dashed;
  display: flex;
  flex-wrap: wrap;
  max-width: 280px;
}

.box {
  width: 40px;
  height: 40px;
  outline: 1px solid;
}

  </style>
</head>
<body>
<div class="wrap">
  <div class="wrap2">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
  </div>
</div>
</body>
</html>
Saurabh
  • 717
  • 5
  • 15
  • 'max-width: 280px;' is not what we need. We need 'max-width: 100%'. Your example works because 280 / 40 = 7 without a remainder. – Anton Fil Mar 06 '21 at 19:31
  • Yes, it's working too, Thanks for your comment Anton, I tried to make an answer, what I understand based on the given question. – Saurabh Mar 10 '21 at 06:14