JSFiddle - React, Tailwind, and code Playground
HTML
<div class="ratio">
<div class="ratio-inner ratio-4-3">
<div class="ratio-content">
Это содержимое блока 4/3
</div>
</div>
</div>
<br>
<div class="ratio">
<div class="ratio-inner ratio-5-1">
<div class="ratio-content">
Это содержимое блока 5/1
</div>
</div>
</div>
CSS
.ratio {
width: 50%; /* здесь можно установить любую нужную ширину */
}
.ratio-inner {
position: relative;
height: 0;
border: none;
}
.ratio-content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #eee;
}
.ratio-4-3 {
padding-top: 75%; /* 100% ширины делим на 4 и умножаем на 3 */
}
.ratio-5-1 {
padding-top: 20%; /* 100% ширины делим на 5 и умножаем на 1 */
}