100%的高度离页面几个像素?

use*_*623 4 html css

我正在尝试制作一个100%高度的页面框.但是在Chrome和IE浏览器中,以下内容从页面底部延伸了几个像素,因此我必须滚动.为什么?为什么这里有滚动条?

  <!doctype html>
  <html >
  <head>
    <style type="text/css">
        html, body 
        {
            margin: 0px;
            padding: 0px;
            height: 100%; 
        }
        div {
            border:5px solid black;
            height: 100%;
        }
    </style>
  </head>
  <body >
    <div >This flows a few pixels off the bottom of the page</div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

asd*_*sdf 5

它离页面几个像素,因为你包含一个5px的边框.它的主体div是页面高度的100%,但是它border位于其外部,在页面的100%高度上增加了10px的总高度.因此,在1000px页面上,div的高度将为1010px.删除边框,它将是正确的高度.

div {
    height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

如果您仍然需要边框,而不是不需要的额外高度,则可以使用该box-sizing: border-box属性将其放置在div的边界内

div {
    height: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您想要任何一种方式的边框,请将其添加到div中,而不是在其边缘,使用此:http://stackoverflow.com/questions/9601357/ (2认同)