我想要一组<td> s在IE7中向左浮动。如果窗口太小,它们应该突破到下一行。

CSS

table {
  width: 100%;
}
td {
  border: 1px solid red;
}
tr.f td {
  width: 500px;
  float: left;
}

HTML:

<table>
  <tr class="f">
    <td>1</td>
    <td>2</td>
    <td>3</td>
  </tr>
</table>

这适用于IE8和Firefox,但不适用于IE7。我做错了什么?

页面呈现模式是<!>“IE7(Quirks)<!>”;或<!>“IE7(标准)<!>”;不过,我正在尝试使用IE8,相信IE7渲染模式就是它所说的。 <!>“IE8兼容性视图<!>”;也是失败的,只有<!>“IE8标准<!>”;做对了。

有帮助吗?

解决方案

我不认为这可能是你想要的。

当你将浮点数应用于td元素[在FF / IE8中] [它们根据CSS 2.1规范成为匿名表格对象。基本上,它们不再是表格单元格,这些匿名对象具有可浮动的显示类型。

IE7没有遵循规范的这一部分,事实上,单元格的显示类型根本无法改变,而且显示类型为table-cell的对象不能浮动。

如果您绝对需要使用表格(而不是ul / li),那么您可以做一些这样的事情吗?

<style type="text/css" media="screen">`
    table {
        width: 100%;
    }
    .f {
        border: 1px solid red;
        float: left;
        height: 10px;
        width: 500px;
    }
</style>

<table summary="yes">
    <tr><td>
    <span class="f">1</span>
    <span class="f">2</span>
    <span class="f">3</span>
  </td></tr>
</table>

其他提示

我最好的猜测:IE7及以下版本具有更严格的表格模型,不允许您更改表格元素的流程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top