Я пытаюсь создать довольно простую компоновку и хочу избежать использования поплавков. Мой упрощенный HTML-код выглядит следующим образом, и теперь я пытаюсь создать макет из двух столбцов, в котором я хотел бы, чтобы элемент B находился слева, а элементы A, C и D - справа (под каждым другом). Код, который я пытался использовать:
.container {
display: grid;
grid-template-areas: 'left right';
}
.item-b {
grid-area: left;
}
.item:not(.item-b) {
grid-area: right;
}
<div class="container">
<div class="item item-a">A</div>
<div class="item item-b">B</div>
<div class="item item-c">C</div>
<div class="item item-d">D</div>
</div>
Но здесь предметы справа располагаются поверх друг друга. Есть ли способ поместить их под друг друга? Вот скрипка с тем же кодом: https://jsfiddle.net/b85h7g03/
Кроме того, когда вы смотрите на скрипку, почему элементы больше не на 50% больше контейнера?
(Кстати, причина, по которой я не размещаю элемент B над элементом A в своем HTML-коде, заключается в том, что на мобильном элементе B должно быть ниже элемента A)
Редактировать: я только что обновил свою скрипку: https://jsfiddle.net/b85h7g03/2/ Я забыл упомянуть, что пункт B имеет гибкую высоту и может быть очень длинным. Для справки: это макет, который я хочу, но без поплавков: https://jsfiddle.net/hLx3709v/