我想要一个 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,它们都是屏幕的全高。
但是当我添加.widget
s 时,#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 absolute Position children (not a duplicate)?