html - HTML/CSS:如何防止 DIV 滚动条离开屏幕?
问题描述
似乎有一些关于这个问题的 StackOverflow 帖子,但我仍然无法解决这个问题。
所以,我提供了非常精确的 HTML/CSS:https ://jsfiddle.net/dbaroncelli/r08qfcv2/2/
如您所见,滚动条在顶部时以自己的长度显示。
但是当您滚动到底部时,滚动条的一部分以及文本的底部会被隐藏。
你如何解决这个问题,使文本的底部不被隐藏?
这是 CSS,您也可以在上面的 Fiddle 链接中找到它:
body {
box-sizing: border-box;
position: fixed;
height: 100%;
width: 100%;
padding: 0px;
margin: 0px;
}
.topdiv {
background-color: #FF0000;
}
.scrolldiv {
overflow-y: scroll;
height: 100%;
width: 100%;
}
解决方案
有很多解决方案,但最好的一个可能是使用 CSS Grid,但请检查您的目标浏览器是否支持它(IE 是目前唯一有问题的浏览器)。
CSS 应该如下所示:
body {
box-sizing: border-box;
position: fixed;
padding: 0px;
margin: 0px;
left: 10px;
right: 10px;
top: 10px;
bottom: 10px;
display: grid;
grid-template-rows: auto 1fr;
}
.topdiv {
background-color: #FF0000;
}
.scrolldiv {
overflow-y: scroll;
background: yellow;
}
我已经偏移了body的边框,只是为了让元素的位置更清晰。关键线可能是grid-template-rows: auto 1fr;
这意味着网格由两行组成。第一行包含您的红色标题。auto
表示高度会根据内容自动调整。1fr
意味着第二行将占据网格高度的剩余部分。
这是一个有效的 JSFiddle。
推荐阅读
- python - 在多个损失 keras 上训练具有单个输出的模型
- r - 具有多个参数的嵌套应用
- keras - Keras:恢复训练的加载检查点模型会降低准确性吗?
- linux - 如何识别远程 SSH 上的 BLANK 终端?
- mysql - 带有随机名称列表的 MySQL UPDATE
- javascript - 如何让 GraphQL 知道我是否想从另一个 rootQuery 解析字段?
- jsp - 如何在 Tomcat 9 中绑定和 ejb?
- javascript - 值为 0 时图形线变细
- javascript - 消息:“无法上传” | 带帖子的角度上传图像
- python - Writer 将奇怪的格式输出到 CSV