html - 如何防止网格布局 div 溢出视口?
问题描述
所以我的网格中有 2 个 div。第一个 div 可以很小也可以很大,但不能超过屏幕大小。第二个 div 的固定大小为 40px。
所以第一个 div 应该是
- 屏幕尺寸 - 40px
- 内容的大小(如果小于 1。)
超出screen size - 40px
限制的内容将通过 显示overflow: scroll
。
.outer__grid {
display: grid;
grid-template-rows: 200px;
grid-template-columns: 1fr 250px;
}
.content__one {
width: 3000px;
overflow: scroll;
background-color: red;
}
.content__two {
width: 40px;
background-color: blue;
}
<div class="outer__grid">
<div class="content__one"></div>
<div class="content__two"></div>
</div>
使用这种方法,第一个 div 永远不会溢出,因此是 3000px 宽。
我创建了一个简单的 JSFiddle 来表达我的代码问题:https ://jsfiddle.net/n9851dzm/7/
解决方案
我已经稍微更改了您的 html 并据此重写了 css。请检查一下:
HTML:
<div class="outer__grid">
<div class="content__one">
<<div class="inner-content">Inner Content</div>
</div>
<div class="content__two">
</div>
</div>
CSS:
.outer__grid {
display: grid;
grid-template-rows: 200px;
grid-template-columns: 1fr 40px;
max-width: 100%;
overflow:hidden;
}
.content__one {
overflow: auto;
background-color: red;
}
.inner-content {
width: 3000px;
}
.content__two {
background-color: blue;
}
推荐阅读
- keras - Keras:自定义损失函数:维度问题(无,无)
- ios13 - 调用中缺少参数“委托”的参数 // JSON 文件在 SWIFT 中损坏?
- javascript - Draft.js:制作编辑器内容多页
- html - 移动时的 CSS 过渡
- python - Python Pandas DF 附加到同一行
- node.js - 无法从 lambda 发送 Firebase 推送通知
- asp.net-mvc - 在 ASPNET.Core 3.1 中扩展 AspnetUserRoles 表的正确方法是什么?
- ssis - SSIS - 为什么从 excel 文件导入包含所有可能的行?
- r - n 个不同的最高/最低值的最小值、最大值、平均值,并将它们与时间序列数据一起绘制在 R 中的同一图表上
- ios - 不能在属性初始化程序中使用实例成员“userCard1”;属性初始化程序在“自我”可用之前运行错误