I am trying to create a flexbox with 3 items in it that are equal of width. The problem is if I add padding or gap or both. It breaks (only 2 columns)! I do not want to use grid. It needs to be flex!
This is the Html and css
.flex-container {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
.color {
background-color: limegreen;
}
.spacing {
padding: 1em;
}
.flex-item {
flex: calc(100% / 3);
}
<div class="flex-container">
<div class="flex-item color spacing">1</div>
<div class="flex-item color spacing">2</div>
<div class="flex-item color spacing">2</div>
<div class="flex-item color spacing">4</div>
<div class="flex-item color spacing">5</div>
<div class="flex-item color spacing">6</div>
<div class="flex-item color spacing">7</div>
<div class="flex-item color spacing">8</div>
</div>