将 100vh 保留在网格容器溢出中的问题
Issues keeping 100vh inside grid container overflow
我正在尝试实现一种没有滚动页面的仪表板。我有一个网格布局,其中一些部分的高度为 100vh。问题是,在这些部分中,我希望 child div 在它们大于 parent 容器的 100% 时溢出,但它们正在扩展其内容而不是溢出。
这里是 HTML:
<div class="page-holder w-100 p-5">
<div class="grid-container">
<section class="item1">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<p>Here some content fixed</p>
<p>Below the overflow content with max-height 100%</p>
<div class="content-overflow">
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
....
</div>
</div>
</div>
</section>
<section class="item2">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<div class="content-overflow">
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
...
</div>
</div>
</div>
</section>
<section class="item3">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<div class="content-overflow">Empty Content</div>
</div>
</div>
</section>
</div>
这里是 CSS:
.page-holder {
height: calc(100vh - 40px);
...
}
.grid-container {
display: grid;
...
height: 100%;
}
section, section > .card {
height: 100%;
}
.content-overflow {
overflow-y: auto;
heigth: 100%; /* Not working - it only overflows if I set height on px */
background: blue;
color: white;
}
完整代码见下面CodePen.
我不确定你想要达到什么目的,但也许这会奏效:
.content-overflow {
overflow-y: auto;
height: 100vh;
background: blue;
color: white;
}
或者你可以max-height
:
.content-overflow {
overflow-y: auto;
max-height: 100vh;
background: blue;
color: white;
}
我还建议用 overflow-x: hidden
去除 x 溢出
你应该给你的卡体overflow:autoclass
我解决了将以下内容添加到网格容器中的问题:
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr;
我正在尝试实现一种没有滚动页面的仪表板。我有一个网格布局,其中一些部分的高度为 100vh。问题是,在这些部分中,我希望 child div 在它们大于 parent 容器的 100% 时溢出,但它们正在扩展其内容而不是溢出。
这里是 HTML:
<div class="page-holder w-100 p-5">
<div class="grid-container">
<section class="item1">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<p>Here some content fixed</p>
<p>Below the overflow content with max-height 100%</p>
<div class="content-overflow">
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
....
</div>
</div>
</div>
</section>
<section class="item2">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<div class="content-overflow">
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p>Row</p>
</div>
</div>
...
</div>
</div>
</div>
</section>
<section class="item3">
<div class="card">
<div class="card-header">Section</div>
<div class="card-body">
<div class="content-overflow">Empty Content</div>
</div>
</div>
</section>
</div>
这里是 CSS:
.page-holder {
height: calc(100vh - 40px);
...
}
.grid-container {
display: grid;
...
height: 100%;
}
section, section > .card {
height: 100%;
}
.content-overflow {
overflow-y: auto;
heigth: 100%; /* Not working - it only overflows if I set height on px */
background: blue;
color: white;
}
完整代码见下面CodePen.
我不确定你想要达到什么目的,但也许这会奏效:
.content-overflow {
overflow-y: auto;
height: 100vh;
background: blue;
color: white;
}
或者你可以max-height
:
.content-overflow {
overflow-y: auto;
max-height: 100vh;
background: blue;
color: white;
}
我还建议用 overflow-x: hidden
你应该给你的卡体overflow:autoclass
我解决了将以下内容添加到网格容器中的问题:
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr;