【发布时间】:2017-09-13 05:48:20
【问题描述】:
所以我今天遇到了一个奇怪的问题,它只发生在 Chrome 中。 看看小提琴: https://jsfiddle.net/m1npLfcm/1/
<div class="table">
<div class="row">
<div class="cell">
<div class="content">
</div>
</div>
</div>
</div>
有一些由 DIV、表格、行和单元格组成的基本表格布局。它们都有 100% 的宽度和高度。在单元格内有一个常规的 DIV。它具有 100% 的宽度和高度以及一些填充。
众所周知,div 的默认 box-sizing: content-box 会通过该填充推动边界。所以我像往常一样制作了 box-sizing:border-box,现在我有这种奇怪的行为。
似乎在这种情况下, box-sizing: content-box 仅适用于宽度和高度,默认情况下可以正常工作,而不会超出边界。但是,如果我添加 box-sizing:border-box - 宽度可以正常工作,但高度会从中减去总垂直填充,就好像以前的内容框应该是这样。
这到底是什么鬼?它只发生在 Chrome 中,我完全糊涂了。有没有人见过这个,应该如何处理?简短的谷歌搜索没有帮助,因为这个问题很难用几句话来描述。
【问题讨论】:
-
..这是奇怪的行为。我对此没有任何解释..但这是一种适用于您的情况的解决方法...jsfiddle.net/amb794we
-
这条评论有更多解释:stackoverflow.com/a/19069129/4338477
-
@sev,我专门在表格单元格中创建了一个嵌套的 DIV 并将所有填充应用到它,这样我就不会弄乱表格布局。看起来我将不得不在我的情况下制作另一个嵌套的 DIV :(