Я использую сетку CSS в этом примере. Не очень важно, что в этом случае содержится в сетке.
Контейнер .wrap
имеет красный фон. Я хочу, чтобы строки aside
и main
охватывали весь путь вниз, чтобы заполнить .wrap
. Это означает, что красный фон больше не должен быть виден, покрыт серым и белым.
Как видно из этого примера, я использую 1fr
, но в этом случае это мало что дает. Я также попробовал auto
, но без разницы.
* {
padding: 0;
margin: 0;
color: #fff;
}
.wrap {
height: 300px;
background: red;
}
.content {
background: green;
display: grid;
grid-template-areas: "header header"
"aside main"
"footer footer";
grid-template-columns: 300px 1fr;
grid-template-rows: 48px 1fr 50px;
}
header {
grid-area: header;
background: black;
}
aside {
grid-area: aside;
background: #333;
}
main {
grid-area: main;
background: #fff;
color: #000;
}
footer {
grid-area: footer;
background: blue;
}
<div class="wrap">
<div class="content">
<header>Header</header>
<aside>Aside</aside>
<main>Main</main>
<footer>Footer</footer>
</div>
</div>