8

在 CSS 表格中,有人可以帮我理解为什么第一列中的填充元素会影响第二列中的 div 吗?

这是一个段落具有填充集的示例。右列中的 DIV 也被错误地填充了。在左列内容上指定 line-height 时我遇到了类似的问题,但简化了这个问题的示例。

http://jsfiddle.net/APXT7/2/

关于 table-cell 有许多类似/相关的问题,但我找不到专门解决这个问题的问题。

4

3 回答 3

9

您可能可以使用vertical-align:top单元类上的垂直对齐属性 ( ) 或像jsfiddle.net/j08691/APXT7/4这样的 div 。由于这些 div 显示为表格单元格,因此这可能就是您要查找的内容。

于 2012-10-14T22:23:40.223 回答
4

这很可能是行高问题,而不是填充问题。这意味着,尽管您可能会怀疑,实际上并没有将填充传播到您的右列(计算值仍然为零)。我仍将其称为调整元素填充的副作用。p

元素顶部和底部的填充p将它们的基线向下推。这会导致同一行/行上其他“单元格”的基线也发生变化。当然,您可以找到规范中概述的所有细节,但是由于两个“单元”具有相同的垂直对齐方式 ( baseline),因此当一个单元移动时它们必须对齐。

于 2012-10-12T19:41:20.130 回答
1

我发现了一个“解决”这个问题的黑客,但不知道为什么。<div class='cell'>put <div class='hack'>&nbsp;</div>class hack中的第一件事是.hack { height: 0; }如果放在左侧或右侧单元格中,这将起作用

于 2015-08-15T22:41:40.403 回答