html - 高度 100% 会导致不需要的滚动条

标签 html css

我相信你们之前都见过类似的问题,但我读过的任何内容都无法解决这个问题。

基本上我有一个高度为 100% 的 div,它填充了视口(viewport)。在这个 div 中,我有一个高度为 40px 的 h1 标签和一个高度为 100% 的无序列表来填充页面的剩余高度。

由于 40 像素的 H1 标签,页面出现了我不想要的垂直滚动条。

类似问题的另一个答案是将 overflow:hidden 添加到 div。这工作了一段时间,但我发现并解决了这个问题。当我得到 X 数量的列表项时,我的无序列表需要滚动条,由于 div 上的 overflow: hidden,我看不到最底部的几项。请参阅下面的链接以获取演示: (Here)。

如果有人能帮我解决这个问题,我将不胜感激。

HTML:

<div>
  <h1>Header</h1>
  <ul>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
    <li>Test</li>
  </ul>
</div>

CSS:

html {
  height: 100%;
}
body,
h1,
ul {
  margin: 0;
  padding: 0;
}
body {
  height: 100%;
}
div {
  height: 100%;
  width: 300px;
  overflow:hidden;
}
h1 {
  height: 40px;
  line-height: 40px;
}
ul {
  list-style: none;
  background: red;
  height: 100%;
  overflow: auto;
}

最佳答案

只需要一个更改 - 只需将 body 设置为 height:auto 或忽略它,因为这是默认值

body {
  height: auto;
}

关于html - 高度 100% 会导致不需要的滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002407/

相关文章:

html - 未显示 Logo

javascript - 如果输入字段为空,则更改焦点

html - Chrome Extension - 获取当前标签页的全部文本内容

javascript - 如何将字符串转换为 Angular 绑定(bind)?

html - 托管html的最简单方法

html - 在 Bootstrap 中将图像定位在 div 标签上

CSS 页脚图像

html - 网站设计 - 固定在顶部并展开的滚动菜单

css - 为什么我不能将 .less 文件导入到单个 .less 文件中?

css - Wordpress 类别的样式