Демонстрация кодов Flexbox
Как это работает?
Оберните столбцы в общий родительский элемент (например,элемент main
) с установленной высотой.Затем поместите ваши элементы с flex-direction: column
и создайте пространство между b
и c
с justify-content: space-between
.
Высота столбца a
равна 100%
контейнера, так что b
и c
может перейти в новый столбец благодаря flex-wrap: wrap
.
CSS
main {
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: space-between;
height: 100px;
}
.a {
background: red;
height: 100%;
width: 30%;
}
.b, .c {
background: green;
height: 45px;
width: 70%;
}
.c {
background: lightblue
}
Демонстрация Grid Layout
Как это работает?
С Grid Layout
вы можете добиться того же, создав макет с 10
столбцы и 2
строки и разрыв между b
и c
с row-gap: 10px
.Затем настройте все различные (column|row
) - (start|end
)
CSS
main {
display: grid;
grid-template-columns: repeat(10, 1fr);
row-gap: 10px;
width: 100%;
}
.a {
background: red;
grid-area: 1 / 1 / 3 / 3;
}
.b,
.c {
grid-column: 3 / 11;
background: green;
overflow: hidden;
height: 45px;
}
.b {
grid-row-start: 1;
}
.c {
grid-row-start: 2;
background: lightblue;
}