css justify boxes simplified
HTML
<div class="container">
<div>Box1</div>
<div>Box2</div>
<div>Box3</div>
<div>Box4</div>
</div>
CSS
* {
margin: 0;
padding: 0;
}
.container {
background: orange;
overflow: auto;
display: block;
min-width: 150px;
}
.container > div {
margin-bottom: 20px;
width: 150px;
height: 100px;
background: blue;
float: left;
color: #fff;
text-align: center;
}
@media (max-width: 350px) {
.container > div {
margin-left: calc(((100% - 150px)/2) - 1px);
margin-right: calc(((100% - 150px)/2) - 1px);
background:black;
}
}
@media (min-width: 350px) and (max-width: 550px) {
.container > div {
margin-right: calc((100% - 300px) - 1px);
background:red;
}
.container > div:nth-child(2n) {
margin-right: 0;
}
}
@media (min-width: 550px) and (max-width: 750px) {
.container > div {
margin-right: calc(((100% - 450px) / 2) - 1px);
background:purple;
}
.container > div:nth-child(3n) {
margin-right: 0;
}
}
@media (min-width: 750px){
.container > div {
margin-right: calc(((100% - 600px) / 3) - 1px);
}
.container > div:nth-child(4n) {
margin-right: 0;
}
}