html - 如何在绝对定位元素中设置相对定位元素的高度?

标签 html css height

我有这样的东西jsfiddle

<div id="foo">
  <div>
    <div class="header"></div>
    <div class="main"></div>
    <div class="footer"></div>
  </div>
</div>


 #foo {
   position: absolute;
   min-height: 300px;
   width: 400px;
 }

 #foo > div {
   position:relative;
 }

 .header, .footer {
   min-height: 30px;
 }

如何让'#foo > div'占据#foo 上设置的 300px 高度?我也想将“.footer”固定到“#foo > div”的底部。 '.main' 应该填充剩余的空间,即使它是空的,并且在内容允许时变得可滚动。

我已经为此苦苦挣扎了几个小时,所以现在是时候请教专家了。任何有关 fiddle 的帮助将不胜感激。谢谢!

最佳答案

您可能正在寻找这样的东西:

http://jsfiddle.net/audetwebdesign/V2gdj/4/

使用以下 CSS;

div {
    border: 1px solid gray;    
}

#foo {
    position: absolute;
    height: 300px;
    width: 400px;
}

#foo > div {
    position: relative;
    height: inherit;
}

.header, .footer {
    height: 30px;
}
.main {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 0;
    right: 0;
    outline: 1px solid blue;
    overflow: auto;
}
.footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

等待您的评论的解释。

关于html - 如何在绝对定位元素中设置相对定位元素的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991235/

相关文章:

javascript - 如何根据值的金额更改值的颜色?

html - 如何将鼠标悬停在文本上以与触发文本处于相同的行高

javascript - 如何用充满 CSS 的 <div> 替换 &lt;input text box>?

html - 通过 css 选定的 li 上的背景图像

javascript - jQuery 无法在 WordPress 网站上运行

javascript - 在 HTML5 Canvas 上绘图 : how to draw at tip of mouse cursor

javascript - Jquery - 单击时缩小 DIV

javascript - 如果文本内部在文档加载时换行,DIV 的高度计算不正确

html - CSS:为什么 html,body height: 100% 大于 100%?

datagrid - 是否可以基于父 div 大小而不是行数来实现 Dojo/Dijit DataGrid 自动高度功能?