<div class="grid-wrapper"> <div class="ratio-1-1"> <div class="content">1:1</div> </div> </div> <div class="grid-wrapper"> <div class="ratio-4-3"> <div class="content">4:3</div> </div> </div> <div class="grid-wrapper"> <div class="ratio-16-9"> <div class="content">16:9</div> </div> </div>
.ratio-1-1 { padding-bottom: 100%; // 1:1 } .ratio-4-3 { padding-bottom: 75%; // 4:3 } .ratio-16-9 { padding-bottom: 56.25%; // 16:9 } [class^="ratio"] { position: relative; width: 100%; height: 0; } .content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } /* Coloring and demo positioning */ body { font-family: "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif; } .grid-wrapper { box-sizing: border-box; float: left; width: 33%; padding: 1em; text-align: center; } .content { padding: 1em; } .ratio-1-1 > .content { background: #588C7E; } .ratio-4-3 > .content { background: #F2E394; } .ratio-16-9 > .content { background: #F2AE72 }