In this post we will create responsive 4 column layout with CSS flexbox.
HTML
<div class="container">
<div class="card_wrapper">
<div class="card card_1">
<div class="circle"></div>
<h1>SEDANS</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<button>Learn More</button>
</div>
<div class="card card_2">
<div class="circle"></div>
<h1>SUVS</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<button>Learn More</button>
</div>
<div class="card card_3">
<div class="circle"></div>
<h1>LUXURY</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<button>Learn More</button>
</div>
<div class="card card_4">
<div class="circle"></div>
<h1>COUPE</h1>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<button>Learn More</button>
</div>
</div>
</div>CSS
html{
box-sizing: border-box;
}
*, *::before, *::after{
box-sizing: inherit;
}
body{
padding: 0;
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
.container{
max-width: 1200px;
margin: 90px auto;
}
.card_wrapper{
width: 90%;
margin: 0 auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
.card{
padding: 35px;
color: #eee
}
.circle{
width: 50px;
height: 50px;
background-color: rgba(15, 15, 15, 0.4);
border-radius: 50%;
box-shadow: 15px 0px rgba(15, 15, 15);
}
.card h1{
color: #fff;
}
.card p{
line-height: 1.4;
}
.card button{
width: 80%;
padding: 12px;
margin-top: 35px;
border: none;
border-radius: 15px;
}
.card_1{
background-color: #e38525;
}
.card_1 button{
color: #e38525
}
.card_2{
background-color: #016871;
}
.card_2 button{
color: #016871;
}
.card_3{
background-color: #003f3e;
}
.card_3 button{
color: #003f3e;
}
.card_4{
background-color: #3D9397;
}
.card_4 button{
color: #3D9397
}
@media (min-width: 768px){
.card_wrapper{
flex-direction: row;
}
.card{
flex-basis: 50%;
}
}
@media (min-width: 1200px){
.card_wrapper{
flex-wrap: nowrap;
}
.card{
flex-basis: 33.333%;
}
}
