gpt4 book ai didi

html - 内部 div 滚动时窗口的 100% 高度

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:55 25 4
gpt4 key购买 nike

在过去的几个小时里,我一直在用头撞墙,以找出一种方法来实现我想要的 Web 应用程序布局。我的头很痛。

基本上我需要的是拥有完整的窗口布局(全宽、全高、无滚动 - 永远)。应使用两个不同的水平框覆盖 100% 的宽度和高度(您可以将它们视为行)。

  • 第一个框/行的高度可以是可变的(将其视为页面的标题)
  • 下面的那个应该占据剩余的空间,不会超出窗口的 100%,因此不会显示滚动条。

现在有点棘手的是,在第二个框/行中,我希望通过内部垂直滚动显示内容。假设第二个框/行包含一个元素列表,如果元素很少,则框/行的底部应该紧跟在内容之后。对于很多元素,框/行应该向右扩展,直到达到窗口高度的 100%(基本上是窗口的 100%——第一个框/行占据的高度)。其余内容应通过在第二个框/行内滚动可见。

我说的有道理吗?

关于代码,我不会复制/粘贴我拼凑的灾难性的东西,因为我宁愿从空白页开始。

这是我尝试过的:

<html>
<body>
<div id="wrapper">
<div class="box">Header</div>
<div class="box">Content <ul><li>...</li>(x1000)</ul></div>
</div>
</body>
</html>

我使用“框”类的原因是因为两个框/行在背景、边距、阴影等方面应该显示相同的外观。

html, body {
height: 100%;
}

#wrapper {
position: absolute;
height: 100%;
width: 100%;
left: 15px;
right: 15px;
top: 15px;
bottom: 15px;
}

对于其余部分,我只是尝试(到目前为止失败了)通过添加危险的 overflow: hidden; 来操纵 .box 元素;溢出-y:滚动;高度:100%;最大高度:100%;最小高度:100%;

预先感谢您的帮助!

最佳答案

问题是因为 CSS 在自动调整高度到可用空间方面一直很糟糕。

解决方案是使用设置为 position: absolute 并绑定(bind)到视口(viewport)的顶部、左侧、右侧和底部边缘的包装器。有了这个,浏览器将自动调整元素的高度,如果你有一个 height: 100% 的内容 div,它总是会填充那个空间。

在包装器上设置 overflow-y: scroll 将允许内容在变得太长时滚动:

http://codepen.io/helion3/pen/jwbcx

网站标题的高度通常是固定不变的。如果您使用百分比定义站点 header ,并且不需要支持 IE<8,那么您可以通过 box-sizing: border-box 安全地使用百分比来实现相同的目的。

关于html - 内部 div 滚动时窗口的 100% 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com