Skip to content

Instantly share code, notes, and snippets.

@mqxu
Created March 14, 2021 17:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mqxu/0853f00a1518853716385afe3f6b9f20 to your computer and use it in GitHub Desktop.
Save mqxu/0853f00a1518853716385afe3f6b9f20 to your computer and use it in GitHub Desktop.
3 Column Responsive Layout

3 Column Responsive Layout

At full width all three columns will be displayed side by side. As the page is resized the third column will collapse under the first and second. At the smallest screen size all three columns will be stacked on top of one another.

A Pen by Graham Clark on CodePen.

License.

<div class="wrapper">
<header>
<h1>3 Column Responsive Layout</h1>
</header>
<section class="columns">
<div class="column">
<h2>1st Content Area</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi ratione architecto necessitatibus cum praesentium dolor totam voluptatibus recusandae?</p>
</div>
<div class="column">
<h2>2nd Content Area</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi ratione architecto necessitatibus cum praesentium dolor totam voluptatibus recusandae? Illo quod nemo ratione itaque dolores laudantium error vero laborum blanditiis nostrum.</p>
</div>
<div class="column">
<h2>3rd Content Area</h2>
<p>Illo quod nemo ratione itaque dolores laudantium error vero laborum blanditiis nostrum. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi ratione architecto cum praesentium voluptatibus recusandae?</p>
</div>
</section>
<footer>
<h3>Footer</h3>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ipsam, porro. Doloribus vitae non dolores modi dolorum commodi perspiciatis dicta nostrum minus esse, totam officia, quibusdam amet quas tempora? Voluptatibus, esse.</p>
</footer>
</div>
/*
Note: You can easily create additional columns by adding more elements with the class of 'column' inside the 'columns' div. e.g.:
...
<div class="column">
<h2>4th column</h2>
</div>
<div class="column">
<h2>5th column</h2>
</div>
*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans);
* { box-sizing: border-box; }
body {
font-family: 'Open Sans', sans-serif;
color: #666;
}
/* STRUCTURE */
.wrapper {
padding: 5px;
max-width: 960px;
width: 95%;
margin: 20px auto;
}
header {
padding: 0 15px;
}
.columns {
display: flex;
flex-flow: row wrap;
justify-content: center;
margin: 5px 0;
}
.column {
flex: 1;
border: 1px solid gray;
margin: 2px;
padding: 10px;
&:first-child { margin-left: 0; }
&:last-child { margin-right: 0; }
}
footer {
padding: 0 15px;
}
@media screen and (max-width: 980px) {
.columns .column {
margin-bottom: 5px;
flex-basis: 40%;
&:nth-last-child(2) {
margin-right: 0;
}
&:last-child {
flex-basis: 100%;
margin: 0;
}
}
}
@media screen and (max-width: 680px) {
.columns .column {
flex-basis: 100%;
margin: 0 0 5px 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment