我想要一个高度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
时,#content
仍然是全高度(好的),但#dashboard
仅成为“某些文本”的高度。出于某种原因,向#dashboard
添加绝对定位内容会改变其高度。
注意(编辑)
我不希望
#content
的高度为100%,因为它需要根据其他页面上的内容增长。我只想让#dashboard的高度正好为100%。
jQuery可以解决问题,但我想仅使用CSS来解决它。
$("#dashboard").height( $("#content").height() );
我尝试将 #content
的显示类型更改为块状或内联,并将 -moz-box-sizing 设置为默认值,因为我读到它可能会破坏 Firefox 的最小高度。
您有什么解决方法吗?
min-height
?? 不过,你可以使用任何百分比或像素。 - Hashem Qolami