<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
}