繁体   English   中英

HTML/CSS:删除高度为 100% 的垂直滚动;

[英]HTML/CSS: Remove vertical scroll with height: 100%;

我正在创建要填充页面的两列。 很简单的。 但是,我得到了一个非常轻微的垂直滚动条。 htmlbody上设置margin: 0padding: 0并没有修复它。

我调查过overflow: hidden但我不喜欢它。 我还研究了在底部放置一个clear:both div,但这没有做任何事情。 我研究过使用min-height ,但我似乎无法让它正常工作。

我有两个问题:

  1. 为什么会出现垂直滚动条?
  2. 如何删除垂直滚动条?

现场示例: http://jsfiddle.net/XrYYA/

HTML:

<body>
    <div id="palette">Palette</div>
    <div id="canvas">Content</div>
</body>

CSS:

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

#palette {
float: left;
width: 300px;
height: 100%;
border: 1px solid black;
}

#canvas {
margin-left: 300px;
height: 100%;
border: 1px solid blue;
}

这是因为元素每一侧的 1px 边框。

100% + 2px 边框。= 100%。

您可以使用box-sizing将边框包含在元素的高度中。

jsFiddle 示例

div {
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

或者,您可以使用calc()减去 2px。

height: calc(100% - 2px);

jsFiddle 示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM