html – 将div高度设置为父级的100%

我想为我的网页设置以下布局:

|         header       |
| navigation | details |
|            |         |

导航窗格(动态生成的内容)包含数百个元素.我想在导航窗格上创建一个垂直滚动条,使窗格的高度减去标题的高度.

我的页面大致具有以下结构:

<div id=header></div>
<div id=content>
  <div id=navigation></div>
  <div id=details></div>
</div>

使用以下CSS:

#navigation {
    float: left;
    width: 400px;
    height: 100%;
    overflow: auto;
}

#details {
    margin-left: 420px;
}

这主要是有效的,除了导航窗格获得窗口高度的100%,而不是窗口高度的100%减去标题的高度.如果我可以避免它,我宁愿不明确设置标题的高度.我是网络开发的新手,所以我不介意做一些阅读.我需要做什么才能实现我想要的布局?

最佳答案 您必须确保您的身体标签和内容容器的高度也达到100%.您必须显式设置要遵守的子元素的父元素的高度.

body { 
    height: 100%;
} 

#content {
    height: 100%;
}

然而,这不考虑头部的定位.以下文章演示了利用Dustin Diaz的最小高度快速黑客技术和内容容器上的负边距来实现100%高度同时不干扰标题的技术:

http://www.thechoppr.com/blog/2009/02/08/3-column-fluid-layout-100-height/

点赞