#container {
display:flex;
height:300px;
background:#333;
}
#child1 {
width:30%;
background:#3cf;
}
#child2 {
width:30%;
background:#3fc;
}
#child3 {
width:40%;
background:#cf3;
}
#child1_child {
width:100%;
background:#fc3;
}
pre {
margin:0px;
}
<div id="container">
<div id="child1"><div id="child1_child"><pre>CONTENT<BR>CONTENT<BR>CONTENT<BR>CONTENT</pre></div></div>
<div id="child2"></div>
<div id="child3"></div>
</div>
#child1
的高度自动设置为 #container
的相同高度,我怎样才能使它适合 #child1_child
而不是 #container
的 100% 高度 ---
?
#child1_child
的高度不是静态的,可以通过里面的内容来改变, #child1
的高度没有用静态值。
原文由 Fei Sun 发布,翻译遵循 CC BY-SA 4.0 许可协议
fit-content
支持有限; IE 永远不会支持它,Firefox 仍然需要前缀。此解决方案具有仅用于演示目的的 jQuery,并且不是该解决方案所必需的。有四种选择:选项 2 和 3 的行为相同,因此总而言之,最简单的解决方案是应用
display:table
并且它非常简单,非常兼容。height: fit-content
和max-content
几乎与一个小警告兼容,即 IE 不支持它(IE 正在走恐龙的道路,所以这几乎不是问题)。演示