Я пытаюсь получить строки во втором столбце структуры сетки css на 50% по высоте.
У меня есть такой код:
grid-template-areas: "green red"
"green blue";
grid-template-rows: 100% 50%;
grid-template-columns: 1fr 300px;
Однако первая строка в этом столбце больше. Вот результат:
Я пробовал добавить:
#page > .red { max-height: 50%; }
но это дало мне:
Как добиться, чтобы высота двух строк во втором столбце составляла 50%?
#page > .green {
grid-area: green;
background-color: green;
}
#page > .red {
grid-area: red;
background-color: red;
}
#page > .blue {
grid-area: blue;
background-color: blue;
}
#page {
display: grid;
width: 100%;
height: 250px;
grid-template-areas: "green red"
"green blue";
grid-template-rows: 100% 50%;
grid-template-columns: 1fr 300px;
}
#page > .red { max-height: 50%; }<section id = "page">
<div class = "green"></div>
<div class = "red"></div>
<div class = "blue"></div>
</section>





Это ваш код:
grid-template-areas: "green red"
"green blue";
grid-template-rows: 100% 50%;
Вы создали две строки. Но вы задали первой строке 100% высоту контейнера сетки. Это заставляет вторую строку существовать вне контейнера.
Попробуйте вместо этого:
grid-template-areas: "green red"
"green blue";
grid-template-rows: 50% 50%;
Нет необходимости в max-height на сетке.
#page {
display: grid;
height: 250px;
grid-template-areas: "green red"
"green blue";
grid-template-rows: 50% 50%;
grid-template-columns: 1fr 300px;
}
#page > .green {
grid-area: green;
background-color: green;
}
#page > .red {
grid-area: red;
background-color: red;
}
#page > .blue {
grid-area: blue;
background-color: blue;
}<section id = "page">
<div class = "green"></div>
<div class = "red"></div>
<div class = "blue"></div>
</section>
Я могу принять через 6 минут. Спасибо :) Большое спасибо.