У меня фоновое изображение в div шириной 100%. В div нет ничего другого. Я хочу, чтобы высота div всегда была соотношением сторон фонового изображения. Есть ли способ сделать это?
Таким образом, другими словами, когда я масштабирую страницу, я хочу, чтобы div уменьшался и поддерживал ту же высоту фонового изображения.
Я надеюсь в этом есть смысл,
благодаря
Да, это возможно с использованием комбинации ширины, отступов и фонового размера.
Ключ лежит в прокладке. Заполнение, используемое для определения верхнего, нижнего, левого или правого заполнения, зависит от ШИРИНЫ содержащего элемента, если оно определено в процентах. Например, если вы говорите "padding-top: 10%;" то, что вы на самом деле говорите, состоит в том, что заполнение сверху должно составлять 10% от ШИРИНЫ содержащего элемента. Итак, если вы хотите сделать элемент отзывчивым квадратом, вы просто напишите это:
width: 20%;
height: 0;
padding-bottom: 20%;
background-size: contain;
Если вы используете тег img, вам не нужно заботиться о вертикальном изменении размера.
<div>
<img src="..." style="width: 100%">
</div>