好的,所以我知道这个主题有很多问题,但是我仍然无法确切地知道如何实现这项工作。 This接近问题,但对我不起作用。

我希望页面的高度为100%。此页面内是一个高度为40px的静态 header ,然后内容采用剩余的高度(100%-40px)。

HTML:

<body>
     <div id="page">
          <div id="header">
             header
          </div>
          <div id="content">
             content
          </div>
      </div>
 </body>

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

#page
{
    min-height: 100%;
}

#header
{
    height: 40px;
}

#content
{
    height: 100%;
    position: absolute;
    top: 0;
    padding-top: 40px;
}

这是代码的说明:
  • 我在内容中添加了position: absolute,因为否则出于某种原因它不会占用其容器#page的100%
  • 然后问题是它超出了页面的边界,这就是为什么我添加top:0。
  • 然后#content的内容与标题重叠,因此我添加了padding-top: 40px
  • 现在#content再次超出页面的边界

  • 有什么建议么?谢谢。

    最佳答案

    这应该工作:

    http://jsfiddle.net/94JNZ/1/

    #content
    {
        height: auto;
        width: 100%;
        position: absolute;
        top: 40px;
        bottom: 0;
    }
    

    关于html - Div高度100%(不包括标题),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8172102/

    10-13 01:41