I want to place 3 Box in a row, another 3 in second row. This is working fine if I do not add margin: 2px;
and width: calc(33%-4px);
. But if I add margin: 2px;
and adjust in width as width: calc(33% - 4px);
then all are coming in same row. Please let me know what I am doing wrong here with width calc
method.
Incorrect Code -
.container { display: flex; flex-wrap: wrap; }
.box {
flex-grow: 1;
width: calc(33%-4px);
height: 100px;
background: green;
margin: 2px;
}
<div class="container">
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<div class="box">Box 4</div>
<div class="box">Box 5</div>
<div class="box">Box 6</div>
</div>
Working Code -
.container { display: flex; flex-wrap: wrap; }
.box {
flex-grow: 1;
width: 33%;
height: 100px;
background: green;
}
<div class="container">
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<div class="box">Box 4</div>
<div class="box">Box 5</div>
<div class="box">Box 6</div>
</div>