How to create: Responsive zigzag layout

Learn how to create a responsive zigzag (alternating) layout with CSS.

Try it yourself

How to create a zigzag layout

Step 1 - Add HTML:

<div class="container">
  <div class="row">
    <div class="column-66">
      ...
    </div>
    <div class="column-33">
      ...
    </div>
  </div>
</div>
<div class="container">
  <div class="row">
    <div class="column-33">
      ...
    </div>
    <div class="column-66">
      ...
    </div>
  </div>
</div>

Step 2 - Add CSS:

* {
  box-sizing: border-box;
}
.container {
  padding: 64px;
}
/* Clear floats */
.row:after {
  content: "";
  display: table;
  clear: both
}
/* 2/3 column */
.column-66 {
  float: left;
  width: 66.66666%;
  padding: 20px;
}
/* 1/3 column */
.column-33 {
  float: left;
  width: 33.33333%;
  padding: 20px;
}
/* Add responsiveness - Stack columns vertically on small screens instead of side by side */
@media screen and (max-width: 1000px) {
  .column-66,
  .column-33 {
    width: 100%;
    text-align: center;
  }
}

Try it yourself

Related Pages

Tutorial:CSS Website Layout

Tutorial:CSS Responsive Web Design