8

我需要控制表格行的高度——我尝试设置单元格的高度,但我碰到了一堵砖墙。见演示

tr.fixedRow,
tr.fixedRow td.fixedCell {
     height: 50px;
     overflow: hidden; }

我知道我可以将display某些东西更改为,block但这样做通常会以一种糟糕的方式弄乱桌子——我正在使用一个相当复杂的桌子,它与附近的其他桌子交互并且需要完美地排列像素,所以通常,更改display然后尝试使用 CSS 再次使其看起来像一个表格对我来说不是一个好的解决方案,因为它不会匹配。我需要它来留一张桌子。

我也想避免这样做:

<td><div>
   ... cell content...
</div></td>

这似乎是一种可怕的形式。这么简单的事情肯定只有 CSS 解决方案吗?

4

1 回答 1

16

您试图通过依赖一个无法按您期望的方式工作的 css 属性来实现这一点:CSS 溢出适用于块级元素,而 a<td>不是(css: display: table-cell;)。

参见MDN 上的 CSS 溢出

display: block;出于这个原因,我相信除非您设置为s,否则您将无法达到固定高度<td>- 您说您不能因为它会破坏表格对齐,所以在我看来,唯一明智的选择是:

<td><span>...</span></td>

设置<span>display: block;(除了 adiv会破坏 html 验证,而 span 不会 - 元素中不允许使用块td元素)

这是我能想到的最优雅和最有效的方式。

于 2012-10-31T00:32:11.647 回答