这里是片段(演示上JsFiddle提供)在表格中设置“最大高度”使其高度为零?
#outer {
display: table;
height: 200px;
width: 100%;
background: gray;
}
#inner {
width: 100%;
background: blue;
max-height: 100%;
}
<div id="outer">
<img id="inner" src="http://jsfiddle.net/img/logo.png">
</div>
父元素使用display:table
(由第三方框架集),我在子元素设置max-height:100%
限制。
然而,如在上面的演示(我使用Chrome 46.0)可以看出,子元素的高度为“0”不知为什么...
当我在父元素中取出display:table
属性,一切正常再罚款。
我检查了MDN document for max-height。当提到最大高度的百分比值时,它会说:
百分比是根据生成的框的包含块的高度计算的。如果没有明确指定包含 块的高度(即,它取决于内容 高度),并且该元素没有被绝对定位,则将百分比 值视为无。
据我了解我的演示中,#inner
元素的包含块显式地指定到#outer
,所以在#inner
的max-height: 100%
属性将等同于height: 200px
。这是真的吗?有人对我出错的地方有什么想法吗?
谢谢!
使用'min-height'。 http://jsfiddle.net/fb1ddrf8/1/ – Ferrrmolina
@Ferrrmolina我认为'min-height:100%'相当于'min-height:0',这在这里没有任何意义。 –
看看这个答案:http://stackoverflow.com/questions/14262938/child-with-max-height-100-overflows-parent – MCain