Если вы хотите создать адаптивный фон с изображением и адаптивные блоки поверх него, можно использовать следующий подход:
- Для родительского элемента, содержащего фоновое изображение, установите
position: relative;
Это позволит нам позиционировать абсолютно спозиционированные блоки относительно этого элемента.
2. Для фонового изображения можно использовать свойство
background-size: cover;
чтобы оно занимало всю доступную площадь родительского элемента и сохраняло свои пропорции.
3. Для абсолютно спозиционированных блоков, которые должны быть поверх фонового изображения, вы можете использовать
position: absolute;
и задать им соответствующие значения
top
right
bottom
и
left
чтобы определить их местоположение на фоне. Можно использовать проценты для определения размеров и позиций блоков, чтобы они были адаптивными.
4. Чтобы обеспечить адаптивность, вместо фиксированных значений в пикселях вы можете использовать относительные единицы измерения, такие как проценты, vw (viewport width) и vh (viewport height), чтобы блоки и фоновое изображение масштабировались в зависимости от размеров экрана.
Пример html кода:
<div class="parent">
<div class="overlay-block">Блок 1</div>
<div class="overlay-block">Блок 2</div>
<div class="overlay-block">Блок 3</div>
</div>
css:
.parent {
position: relative;
background-image: url('фоновое_изображение.jpg');
background-size: cover;
}
.overlay-block {
position: absolute;
width: 24%;
height: 24%;
/* Здесь можно задать top, right, bottom и left для позиционирования блоков */
}
Обратите внимание, что вам может потребоваться дополнительно настроить стили, такие как цвет текста и фоновые цвета блоков, чтобы они были видимы и контрастны на фоновом изображении.