1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// Credit: Nicolas Gallagher and SUIT CSS. .ratio { position: relative; width: 100%; &::before { display: block; padding-top: var(--#{$prefix}aspect-ratio); content: ""; } > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } } @each $key, $ratio in $aspect-ratios { .ratio-#{$key} { --#{$prefix}aspect-ratio: #{$ratio}; } }