【发布时间】:2014-02-23 23:52:54
【问题描述】:
我想要一个 100% 高度的 div,其中包含绝对定位的 div。无论出于何种原因,当我添加子 div 时,父 div 的高度都会缩小到静态内容大小。
为了澄清,我确实不希望绝对定位的元素是全高的。只是包含 div。
我有(简化的)标记如下:
<div id="content">
<div id="dashboard">
Some text
<div class="widget"></div>
<div class="widget"></div>
...
</div>
</div>
还有样式:
#content {
min-height: 100%;
}
#dashboard {
min-height: 100%;
height: 100%;
position: relative;
}
.widget {
height: 50px; /* arbitrary */
width: 50px;
position: absolute;
}
我已将 #content 和 #dashboard 设置为最小高度 100% 和高度 100% 并且有效。如果我注释掉绝对定位的 div,它们都是屏幕的全高。
但是当我添加.widgets 时,#content 仍然是全高(很好),但#dashboard 只是“一些文本”的高度。无论出于何种原因,将绝对定位的内容添加到 #dashboard 会改变其高度。
注释(编辑)
我不希望
#content达到 100% 的高度,因为它需要增长 与其他页面上的内容。我只希望#dashboard 正好是 100% 高度。
jQuery 工作,但我想只用 css 来做
$("#dashboard").height( $("#content").height() );
我还尝试将 #content 的显示类型更改为阻止或内联,并将 -moz-box-sizing 设置为默认值,因为我读到它可能会破坏 Firefox 的最小高度。
知道如何解决这个问题吗?
类似但不一样:How to set 100% height of a parent div with absolutely positioned children (not a duplicate)?
【问题讨论】:
标签: javascript html css