Жидкий div с высотой, продиктованной фоновым изображением

0

У меня фоновое изображение в div шириной 100%. В div нет ничего другого. Я хочу, чтобы высота div всегда была соотношением сторон фонового изображения. Есть ли способ сделать это?

Таким образом, другими словами, когда я масштабирую страницу, я хочу, чтобы div уменьшался и поддерживал ту же высоту фонового изображения.

Я надеюсь в этом есть смысл,

благодаря

Теги:

2 ответа

4
Лучший ответ

Да, это возможно с использованием комбинации ширины, отступов и фонового размера.

Проверьте это:

Ключ лежит в прокладке. Заполнение, используемое для определения верхнего, нижнего, левого или правого заполнения, зависит от ШИРИНЫ содержащего элемента, если оно определено в процентах. Например, если вы говорите "padding-top: 10%;" то, что вы на самом деле говорите, состоит в том, что заполнение сверху должно составлять 10% от ШИРИНЫ содержащего элемента. Итак, если вы хотите сделать элемент отзывчивым квадратом, вы просто напишите это:

width: 20%;
height: 0;
padding-bottom: 20%;
background-size: contain;
  • 0
    Это не совсем то, что мне нужно, но становится все ближе. Я хочу, чтобы ширина фонового изображения соответствовала ширине элемента div (который всегда будет равен 100%) при сохранении одинаковой высоты соотношения сторон. jsfiddle.net/sfKyk/1 это изображение должно быть на 100%.
  • 0
    Я обновил скрипку там. Очевидно, это должно быть установлено на основе соотношения сторон рассматриваемого изображения. Это работает для вас? - jsfiddle.net/sfKyk/2
Показать ещё 1 комментарий
2

Если вы используете тег img, вам не нужно заботиться о вертикальном изменении размера.

<div>
   <img src="..." style="width: 100%">
</div>
  • 0
    но он хочет фоновое изображение
  • 0
    Верный. Фоновое изображение в div, в котором больше ничего нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню