How TO – Align Images Side By Side


Previous


Next

Learn how to align images side by side with CSS.




Images Side by Side

How to create side-by-side images with the CSS float property:

Snow
Forest
Mountains

Example

<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing: border-box;
}

.column {
float: left;
width: 33.33%;
padding: 5px;
}

/* Clearfix (clear floats) */
.row::after {
content: “”;
clear: both;
display: table;
}
</style>
</head>
<body>

<h2>Images Side by Side</h2>
<p>How to create side-by-side images with the CSS float property:</p>

<div>
<div>
<img src=”img_snow.jpg” alt=”Snow” style=”width:100%”>
</div>
<div>
<img src=”img_forest.jpg” alt=”Forest” style=”width:100%”>
</div>
<div>
<img src=”img_mountains.jpg” alt=”Mountains” style=”width:100%”>
</div>
</div>

</body>
</html>

How To Place Images Side by Side

Step 1) Add HTML:

Example

<div class=”row”>
  <div class=”column”>
    <img src=”img_snow.jpg” alt=”Snow” style=”width:100%”>
  </div>
  <div class=”column”>
    <img src=”img_forest.jpg” alt=”Forest” style=”width:100%”>
  </div>
  <div class=”column”>
    <img src=”img_mountains.jpg” alt=”Mountains” style=”width:100%”>
  </div>
</div>

Step 2) Add CSS:

How to create side-by-side images with the CSS float property:

 

Float Example

<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing: border-box;
}

.column {
float: left;
width: 33.33%;
padding: 5px;
}

/* Clearfix (clear floats) */
.row::after {
content: “”;
clear: both;
display: table;
}
</style>
</head>
<body>

<h2>Images Side by Side</h2>
<p>How to create side-by-side images with the CSS float property:</p>

<div>
<div>
<img src=”img_snow.jpg” alt=”Snow” style=”width:100%”>
</div>
<div>
<img src=”img_forest.jpg” alt=”Forest” style=”width:100%”>
</div>
<div>
<img src=”img_mountains.jpg” alt=”Mountains” style=”width:100%”>
</div>
</div>

</body>
</html>

How to create side-by-side images with the CSS flex property:

Flexbox Example

<!DOCTYPE html>
<html>
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<style>
* {
box-sizing: border-box;
}

.row {
display: flex;
}

/* Create three equal columns that sits next to each other */
.column {
flex: 33.33%;
padding: 5px;
}
</style>
</head>
<body>

<h2>Images Side by Side</h2>
<p>How to create side-by-side images with CSS Flexbox:</p>

<div>
<div>
<img src=”img_snow.jpg” alt=”Snow” style=”width:100%”>
</div>
<div>
<img src=”img_forest.jpg” alt=”Forest” style=”width:100%”>
</div>
<div>
<img src=”img_mountains.jpg” alt=”Mountains” style=”width:100%”>
</div>
</div>

</body>
</html>

Add Responsiveness

Optionally, you could add media queries to make the images stack on top of each other instead of floating next to each other, on a specific screen width.

The following example will stack the images vertically on screens that are 500px wide or less:

Responsive Example

<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing: border-box;
}

.column {
float: left;
width: 33.33%;
padding: 5px;
}

/* Clearfix (clear floats) */
.row::after {
content: “”;
clear: both;
display: table;
}

/* Responsive layout – makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: 500px) {
.column {
width: 100%;
}
}
</style>
</head>
<body>

<h2>Responsive “Side-by-Side” Images</h2>
<p>How to create side-by-side images with the CSS float property. On screens that are 500px wide or less, the images will stack on top of each other instead of next to each other:</p>
<p>Resize the browser window to see the effect.</p>

<div>
<div>
<img src=”img_snow.jpg” alt=”Snow” style=”width:100%”>
</div>
<div>
<img src=”img_forest.jpg” alt=”Forest” style=”width:100%”>
</div>
<div>
<img src=”img_mountains.jpg” alt=”Mountains” style=”width:100%”>
</div>
</div>

</body>
</html>


Previous


Next

Scroll to Top