30 seconds of CSS

  Back to Home

3-tile layout  layoutbeginner

Align items horizontally using display: inline-block to create a 3-tile layout.

HTML
<div class="tiles">
  <div class="tile">
    <img class="tile_image" src="https://via.placeholder.com/250x150" alt="placeholder" >
    <h2 class="tile_title">30 Seconds of CSS</h2>
  </div>
  <div class="tile">
    <img class="tile_image" src="https://via.placeholder.com/250x150" alt="placeholder" >
    <h2 class="tile_title">30 Seconds of CSS</h2>
  </div>
  <div class="tile">
    <img class="tile_image" src="https://via.placeholder.com/250x150" alt="placeholder" >
    <h2 class="tile_title">30 Seconds of CSS</h2>
  </div>
</div>
CSS
.tiles {
  width: 900px;
  font-size: 0;
}

.tile {
  width: calc(900px / 3);
  display: inline-block;
}

.tile h2 {
  font-size: 20px;
}
Demo
placeholder

30 Seconds of CSS

placeholder

30 Seconds of CSS

placeholder

30 Seconds of CSS

Explanation
  • Use display: inline-block to create a tiled layout, without using float, flex or grid.
  • .tiles is the container component, .tile is an item that needs to be displayed inline.
  • Use width: calc((900px / 3)) to divide the width of the container evenly into 3 columns.
  • Set font-size: 0; on .tiles to avoid whitespace.
  • Set font-size: 20px to h2 in order to display the text.
Browser support

100.0%