在IE7中浮动表格单元格

时间:2010-11-25 17:20:20

标签: css internet-explorer-7

我目前正在重新设计一个网站,但不幸的是我无法编辑任何标记,这导致我遇到以下问题......

我有一张桌子,类似于:

<table>
  <tr>
    <td>Some content</td>
    <td>Some content</td>
  </tr>
  <tr>
    <td>Some content</td>
    <td>Some content</td>
  </tr>
  <tr>
    <td>Some content</td>
    <td>Some content</td>
  </tr>
</table>

我希望在一行显示所有表格单元格。在好的浏览器中,我正在使用:

table tr {
    display: inline;
    float: left;
}

实现这一目标。但是,这在IE7中不起作用。我可以使用其他任何CSS来达到同样的效果吗?我必须强调,我无法访问任何标记,并且表行或单元格都没有任何方法可以直接访问它们,所以我无法绝对定位。

3 个答案:

答案 0 :(得分:0)

我相信你不能这样做。

tr是一个表行,我希望在尝试浮动时会出现意外情况。

此外,浮动的任何元素都是一个块级元素,因此display: inline是多余的。

(使用它来防止IE6中出现双边距错误的唯一例外 - 但只有在设置了边距时才会这样做。)

您可以使用JavaScript重构HTML,但我不建议您这样做:)

答案 1 :(得分:0)

我同意@Pekka这是非法的。这里最好的做法是添加小js将表转换成其他东西。如果您可以访问只是 css,您仍然可以通过添加行为为IE执行此操作,如果可以,则可以使用其他浏览器 - 只需使用您的解决方案。

答案 2 :(得分:0)

你可以尝试inline-block但是使用诸如浮动之类的东西来构造表格元素是一种罪恶。在提取表信息并使用语义标记显示时,您可以尝试隐藏整个表并插入一些加载图标。

在这种情况下,最佳做法是要求访问。只是说如果不访问标记就无法完成工作。如果他们不让你,就不要做你的工作。