14

在我的 CSS 文件中,我使用这个:

html,body{height:100%;padding:0;margin:0;border:0;}

这会导致在 IE8、Chrome 5 和 Mozilla 3.6(所有最新版本)上出现垂直滚动条。

此外,该文档是空的,它只有 html、head 和 body 标签,所以没有什么东西会出现在屏幕上。

设置溢出:隐藏;在 html 元素上将完全停止在页面上滚动。

我怎样才能让它消失,但当内容高于显示高度时还要继续滚动?

谢谢你。

4

6 回答 6

17

我在 XHTML 文档中需要 100% 的高度,这样我才能拥有 100% 的 div 元素。

无论如何,我找到了答案:

仅当最顶部的元素具有上边距时才会出现此问题。似乎顶部边距被添加到 100% 高度,使其更高并导致滚动条。

因此,要么使用 padding-top 来分隔最顶部的元素,要么在标签和下一个具有上边距的元素之间使用没有上边距的 a。

于 2010-08-25T09:18:18.680 回答
4

overflow:hidden 应该有助于并防止滚动条的显示(由于舍入错误,您可能会丢失约 1px 的内容

于 2010-08-24T14:01:48.133 回答
0

可能有更好的方法,但我只是默认为 98%,这似乎可以避免所有浏览器中的滚动条。

你也可以使用 JavaScript 设置高度,但感觉有点 hacky

于 2010-08-24T14:01:09.953 回答
0

我今天遇到了这个问题,发现滚动条不是由第一个元素的上边距引起的,而是由于 html 和 body 元素的高度都为 100%。

所以,使用这个 CSS 规则:

html,body { height: 100%; }

我得到滚动条。如果我将其更改为此 CSS 规则:

html { height: 100%; }

我没有滚动条。

和平...

于 2013-03-04T23:46:52.537 回答
-2

垂直滚动条的出现是因为height:100%. 你不需要它,除非你有理由使用它。

于 2010-08-24T14:00:20.937 回答
-6

你为什么要设置100%的身高?

默认情况下它会得到这个高度。

仅当您想以 px 为单位设置数字高度(例如 600px)时,才可以在 body 中设置高度

于 2010-08-24T14:06:40.173 回答