3

I've seen this technique and used it many times before: https://stackoverflow.com/a/10441480/775007

Except this no longer works in Firefox (59.0.2) or the latest Edge.

<div class="boxes">
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
  <div class="box"><div class="inner"></div></div>
</div>

Some LESS:

.boxes {
  display: flex;
  flex-flow: row wrap;
  outline: 1px solid cyan;
  width: 1000px;
  .box {
    position: relative;
    width: 25%;
    height: 0;
    padding-bottom: 25%;
    .inner {
      position: absolute;
      left: 0; right: 0; top: 0; bottom: 0;
      width: 100%;
      height: 100%;
      background: red;
      outline: 1px solid cyan;
    }
  }
}

Here is a demo: https://codepen.io/anon/pen/jxrGxK

Michael Benjamin
  • 346,931
  • 104
  • 581
  • 701
Dean
  • 5,884
  • 2
  • 18
  • 24

0 Answers0