【问题标题】:Table cells bad rendering with Google Chrome/Webkit使用 Google Chrome/Webkit 渲染表格单元格错误
【发布时间】:2010-12-14 23:22:51
【问题描述】:

在以下代码中,COL1A 和 COL3A 在 Chrome 或 Webkit 中的高度不是 50%。它适用于 IE7 和 Firefox。

<table border="1">
  <tr>
    <td height="100%">COL 1A</td>
    <td rowspan="2">COL 2</td>
    <td>COL 3A</td>
    <td rowspan="2">
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
      COL 4<br/>
    </td>
  </tr>
  <tr>
    <td height="100%">COL 1B</td>
    <td>COL 3B</td>
  </tr>
</table>

演示http://dl.dropbox.com/u/255810/Jalios/Demo/TableChrome/table2.html

我尝试设置各种高度(在 TR 或 TD 上)。我还尝试设置带有填充或边距的图像......但没有任何效果。

这是一个 Chrome 错误吗?有转机或提示吗?

【问题讨论】:

  • 响应下面的答案,您建议您使用 Javascript 修复这些问题。您会在答案中分享您是如何做到的吗?请?像我这样的其他人在尝试解决类似问题时发现了这个问题。

标签: google-chrome webkit html-table


【解决方案1】:

似乎是 webkit 中的一个问题。我对 Chrome 和 Safari 也有同样的问题。 这出现在具有特定高度的行时,除了一些在中心。如果有另一列具有更高的行跨度,则最后一个将被放大。 在水平方向上不会出现这个问题。

您必须在第 1 列和第 3 列的单个单元格中使用另一个表格 并避免行跨度

<table border="1">
<tr><td><table height=100%><tr><td height="100%">COL 1A</td></tr>
                <tr><td height="100%">COL 1B</td></tr>
        </table></td>
<td><td>COL 2</td>
<td>COL 3A</td>
<td>
  COL 4<br/>
  COL 4<br/>
  COL 4<br/>
...

此外,您必须使用 css 管理内表的边框

【讨论】:

    【解决方案2】:

    对于tdheight属性不是strict定义的一部分,只是在transitional中,可能WebKit没有实现它。尝试使用 CSS。

    编辑:CSS 也没有运气。也许您必须每行使用一行,然后您可以使用正确的rowspan 属性来生成高度为 50% 的单元格。

    【讨论】:

    • 谢谢,COL4 仅用于演示目的,实际上我在 COL4 中有无法拆分的复杂信息
    • 那么您可能不得不放弃table 方法并使用(浮动)divs 构建事物。
    • 好吧,我不能,我必须使用 Table(通常我不使用 DIV),但在这种情况下,我必须使用 Table 来渲染我已经很好用的动态流程图。我将使用几行 JavaScript 来修复 Webkit :(
    • 可以分享一下你用的JS方案吗?
    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 2021-09-24
    • 2018-08-26
    • 1970-01-01
    • 2011-06-02
    • 2018-05-23
    • 2010-11-14
    • 1970-01-01
    相关资源
    最近更新 更多