How to create: Responsive image grid
- Previous Page Lightbox
- Next Page Image Grid
Learn how to create a responsive image grid.
Responsive image grid
Learn how to create an image gallery that switches between four, two, or full-width images based on screen size:
Create an image grid
First step - Add HTML:
<div class="row"> <div class="column"> <img src="wedding.jpg"> <img src="rocks.jpg"> <img src="falls2.jpg"> <img src="paris.jpg"> <img src="nature.jpg"> <img src="mist.jpg"> <img src="paris.jpg"> </div> <div class="column"> <img src="underwater.jpg"> <img src="ocean.jpg"> <img src="wedding.jpg"> <img src="mountainskies.jpg"> <img src="rocks.jpg"> <img src="underwater.jpg"> </div> <div class="column"> <img src="wedding.jpg"> <img src="rocks.jpg"> <img src="falls2.jpg"> <img src="paris.jpg"> <img src="nature.jpg"> <img src="mist.jpg"> <img src="paris.jpg"> </div> <div class="column"> <img src="underwater.jpg"> <img src="ocean.jpg"> <img src="wedding.jpg"> <img src="mountainskies.jpg"> <img src="rocks.jpg"> <img src="underwater.jpg"> </div> </div>
Second step - Add CSS:
Create responsive layouts using CSS Flexbox:
.row { display: flex; flex-wrap: wrap; padding: 0 4px; } /* Create four side-by-side equal columns */ .column { flex: 25%; max-width: 25%; padding: 0 4px; } .column img { margin-top: 8px; vertical-align: middle; width: 100%; } /* Responsive layout - create a two-column layout instead of a four-column layout */ @media screen and (max-width: 800px) { .column { flex: 50%; max-width: 50%; } } /* Responsive layout - stack two columns instead of side by side */ @media screen and (max-width: 600px) { .column { flex: 100%; max-width: 100%; } }
Related Pages
Tutorial:CSS Flexbox
Tutorial:How to Create Image Grid
- Previous Page Lightbox
- Next Page Image Grid