Контейнер - это сетка в макете, и вы можете размещать прямые дочерние элементы, а box1
и box2
вкладываются внутрь боковой панели.Поэтому обычно из контейнера можно позиционировать porse1
, sidebar
и porse2
, но вы можете рассматривать дочерние элементы боковой панели как прямые дочерние элементы контейнера, используя отображаемое значение contents
.
Так чтоРешение состоит в том, чтобы использовать отображаемое значение contents
:
.sidebar {
display: contents;
}
Но помните о поддержке браузером .
Другое решение - сделать боковую панель сеткой ирасположите дочерние элементы box1
и box2
так, как вы хотите, например:
html,
body {
height: 1200px;
width: 1000px;
}
.container {
display: grid;
grid-gap: 1.5em;
margin: 1.5em auto;
padding: 0 1.5em;
border: 1px solid green;
grid-template-columns: 2fr 1fr;
grid-template-rows: 1fr 1fr;
}
.sidebar {
display: grid;
grid-gap: 1.5em;
grid-row: 1/-1;
grid-column: 2;
}
.box1 {
grid-row: 1;
}
.box2 {
grid-row: 2;
}