Вы должны создать структуру, которая позволяет вам это вложение:
- Основная секция разделена на 2 половины
- Левая половина предназначена для фургона img
- Правая половинаэто еще один div с двумя половинами: одна для img, а другая для функций.
Это можно сделать с помощью flexbox. Но вы должны помнить, что flexbox - это метод, основанный на одной оси, поэтому вы можете размещать элементы только в одном направлении. Если вы хотите сделать два направления, как в случае, то вы должны вложить элементы.
Я думаю, что CSS-сетка облегчит вам задачу в этом случае. Тем не менее, я думаю, что это структура, которая необходима для работы flexbox в вашей организации:
<section class="section-features">
<div class="left-panel">
<img src="https://i.imgur.com/iMC3Mg6.jpg" alt="blue van on the road">
</div>
<div class="right-panel">
<div class="sea-img">
<img src="https://i.imgur.com/PMdn3Be.jpg" alt="sailboat on a beautiful blue water">
</div>
<div class="feature">
<h2 class="feature-title">feature</h2>
<p class="text">Lorem ipsum dolor sit amet consectetur.</p>
<button><a href="#">Read More</a></button>
</div>
</div>
</section>
Все эти разделы должны иметь свойство display: flex. Но правая панель должна быть «flex-direction: column».
Кроме того, примените свойство «overflow: hidden» к элементам div, содержащим изображения, чтобы избежать переполнения изображений div. Однако, даже если вы примените это, img будет выдвигать реальные размеры div, поэтому я предлагаю обрезать изображение до желаемого фактического размера или применить свойство max-height, чтобы предотвратить дальнейшее увеличение размера div.
CSS:
section {
display: flex;
flex-direction: row;
}
.section-features {
height: 100vh;
display: flex;
direction: row;
margin: 100px;
overflow: hidden;
border-style: solid;
}
.sea-img {
width: 100%;
margin: 0;
overflow: hidden;
}
.right-panel {
margin: 0 0 0 15px;
height: 100%;
}