【发布时间】:2017-01-11 13:29:13
【问题描述】:
在 SO 本身中提取了这一点 - 浏览器为具有儿童(相对于容器具有百分比高度):
-
在没有设置高度的情况下,我设置了
min-height,但它不起作用 - 请注意,高度的计算值是我为min-height提供的值。孩子们没有达到我给他们的 50% 的高度 - 见下文:* { box-sizing: border-box; } .inline-container, .block-container, .float-container, .inline-block-container { border: 1px solid red; min-height: 100px; } .inline-container > * { border: 1px solid; height: 50%; } .block-container > * { border: 1px solid; height: 50%; } .float-container > * { float: left; border: 1px solid; height: 50%; } .float-container:after { clear: both; content: ''; display: block; } .inline-block-container > * { display: inline-block; border: 1px solid; height: 50%; }<body> <div class="inline-container"> <span>Inline 1</span> <span>Inline 2</span> </div> <div class="block-container"> <div>Block 1</div> <div>Block 2</div> </div> <div class="float-container"> <div>Float 1</div> <div>Float 2</div> <div>Float 3</div> </div> <div class="inline-block-container"> <div>Inline block 1</div> <div>Inline block 2</div> <div>Inline block 3</div> </div> </body> -
现在我设置
height: 0它可以工作了!请参见下面的示例:* { box-sizing: border-box; } .inline-container, .block-container, .float-container, .inline-block-container { border: 1px solid red; min-height: 100px; height: 0; } .inline-container > * { border: 1px solid; height: 50%; } .block-container > * { border: 1px solid; height: 50%; } .float-container > * { float: left; border: 1px solid; height: 50%; } .float-container:after { clear: both; content: ''; display: block; } .inline-block-container > * { display: inline-block; border: 1px solid; height: 50%; }<body> <div class="inline-container"> <span>Inline 1</span> <span>Inline 2</span> </div> <div class="block-container"> <div>Block 1</div> <div>Block 2</div> </div> <div class="float-container"> <div>Float 1</div> <div>Float 2</div> <div>Float 3</div> </div> <div class="inline-block-container"> <div>Inline block 1</div> <div>Inline block 2</div> <div>Inline block 3</div> </div> </body>
问题:
所以我的问题是——这里发生了什么——我真的很惊讶!当我给它一个最小高度时,为什么孩子们不尊重包含块的计算高度。各位大佬能看一下吗?
【问题讨论】: