您可以使用
height: fit-content
为了确保元素与中包含的内容的高度匹配。。。但请注意,第二个框仍将保留其原始位置:
.grid{
display: grid;
grid-template-columns: auto 300px;
grid-column-gap: 20px;
grid-template-areas: "main_content top" "main_content bottom";
}
.left{
grid-area: main_content;
}
.top_right{
grid-area: top;
background: #ffa4a4;
height: fit-content;
}
.bottom_right{
grid-area: bottom;
background: #c7ffae;
}
<div class="grid">
<div class="top_right">I'm top right</div>
<div class="left">Long left content... Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras semper, eros ut cursus semper, dolor felis gravida ligula, et venenatis neque felis quis justo. Duis aliquet ex vitae tincidunt sodales. Fusce neque metus, pharetra eu molestie sed, tincidunt ac eros. Ut vehicula maximus sodales. Curabitur vehicula sollicitudin erat et rutrum. Aliquam id fermentum erat. Nulla pulvinar vel tortor in imperdiet. Nulla sit amet condimentum eros. Vestibulum tempor et massa eu sagittis. Integer eget nisi sagittis, placerat nibh sed, varius mi. Donec vel lorem at dolor euismod porttitor. Curabitur tincidunt magna facilisis, dapibus odio vitae, pretium orci. Aliquam lacus velit, rhoncus non porta vitae, pellentesque at libero. </div>
<div class="bottom_right">I'm bottom right</div>
</div>
虽然我不知道如何让第二个框跳起来,使第一个框与网格布局匹配,但如果您愿意使用,那么想要达到的效果将非常简单
flexbox
.
只需添加
display: flex
到
.grid
,并创建新的
.right
包含
.top_right
和
.bottom_right
. 然后可选
flex: 1
对双方
.left
和
.正当
:
.grid {
display: flex;
}
.left {
flex: 1;
}
.right {
flex: 1;
background: #c7ffae;
}
.top_right {
background: #ffa4a4;
height: fit-content;
}
<div class="grid">
<div class="left">Long left content... Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras semper, eros ut cursus semper, dolor felis gravida ligula, et venenatis neque felis quis justo. Duis aliquet ex vitae tincidunt sodales. Fusce neque metus, pharetra eu
molestie sed, tincidunt ac eros. Ut vehicula maximus sodales. Curabitur vehicula sollicitudin erat et rutrum. Aliquam id fermentum erat. Nulla pulvinar vel tortor in imperdiet. Nulla sit amet condimentum eros. Vestibulum tempor et massa eu sagittis.
Integer eget nisi sagittis, placerat nibh sed, varius mi. Donec vel lorem at dolor euismod porttitor. Curabitur tincidunt magna facilisis, dapibus odio vitae, pretium orci. Aliquam lacus velit, rhoncus non porta vitae, pellentesque at libero.</div>
<div class="right">
<div class="top_right">I'm top right</div>
<div class="bottom_right">I'm bottom right</div>
</div>
</div>
注意,您还需要移动果岭
background
从…起
到
为了让它伸展整个高度。
这会管用的
across all major browsers
.
希望这有帮助!:)