html - 如何处理网格溢出?

标签 html css css-grid

<分区>

我创建了一个代码笔来说明我现在面临的问题 https://codepen.io/marcdaframe/pen/qeBWNd

<div>
 123 abc
  <div class="container">
<div class="wrapper">
   <div>One</div>
   <div>Two</div>
   <div>Three</div>
   <div>Four</div>
   <div>Five</div>
   <div>Six</div>
   <div>Seven</div>
   <div>Eight</div>
  </div></div>
Hello World
</div>
* {box-sizing: border-box;}
.container{
  height: 25%;
  overflow-y: scroll;
}
.wrapper {
    border: 2px solid #f76707;
    border-radius: 5px;
    background-color: #fff4e6;
}

.wrapper > div {
    border: 2px solid #ffa94d;
    border-radius: 5px;
    background-color: #ffd8a8;
    padding: 1em;
    color: #d9480f;
}
.wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: 100px 200px;
}

我有一个容器,它的高度以百分比定义(它确实可以使用绝对值集,但我无法使用绝对值或 vh),网格将位于 25% 高的 div 中,任何溢出都应该滚动,但 div 中的网格不遵守这一点。

最佳答案

当你在使用height:25%的时候,你需要定义25%的what。 因此,要使 25% 有效,您需要为所有父容器提供 100% 的高度,直到 body 和 html。

有效地使您的 25% 工作所需的额外样式是:

html,body {
   height:100%;
}
body > div {
  height:100%;
}

注意:只有"container" div 的父div 才需要上述div 样式。 希望它能帮助您理解这个问题。

关于html - 如何处理网格溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085746/

上一篇:html - 如何使用 Bootstrap 在元素而不是父元素中实现绝对定位?

下一篇:MS Edge 上的 CSS 边框问题

相关文章:

带有 Outlook 2013 的 HTML 电子邮件 - 左边框和 td 对齐问题

php - Joomla 模块 Chrome 模块索引

html - 如何使内容完全适合网格单元格/div?

html - CSS - 样式为具有统一宽度和高度的内联 block 的元素不形成网格

ios - 使用媒体查询检测 Mobile Safari 全屏模式

html - 为什么我的 CSS 网格布局 div 不以大视口(viewport)为中心?

css - 将列的宽度限制为特定网格项的宽度

html - 滚动修复 : a:hover + links in div not working any more because other div's margin is on top of that div

具有权限结构的PHP网站

html - 在中心对齐 div 不起作用