1

我有一个基于用户输入动态构建的表 - 即用户在表中输入数据,并确定一行中有多少个字段等。因此,我无法控制数据的长度, 和有限的布局控制。我仍然设法构建了在 FF、Chrome、Safari 中运行良好的东西,但我在 IE8 和 IE9 中遇到了一个烦人的问题。我为有问题的表格单元格包含以下 css:

td.dc {
    white-space:normal;
    -ms-word-wrap: break-word;
    max-width: 80em;
}

IE 会忽略所有 3 个标签,并在整个行中继续。如果我将单元格的内容包装在 div 中并将 css 应用于 div,它在 IE9 中有效,但在 IE8 中仍然无效。在 IE8 中,文本实际上在 80 em 之后换行,但单元格仍被渲染得足够宽以适应展开的行,因此表格中的其他所有内容都被推过。有没有办法解决?

[编辑] 我创建了一个 jsfiddle 来说明正在破坏的特定情况:http: //jsfiddle.net/qz3rv/3/ 我已经意识到(从错误报告中不清楚)是只有某些情况似乎坏了- - 可能与数据中的 / 有关。

4

1 回答 1

1

在最小的 HTML 环境中测试时,发布的代码在标准模式下的 IE 上工作。显然,您的代码在Quirks Mode 下运行。因此,请尝试<!doctype html>在 HTML 文件的开头添加。

考虑使用本质上小于80em测试的值,否则。请注意,white-space:normal只是重新确认默认值,-ms-word-wrap: break-word并且其标准对应项意味着在某些例外规则中破坏单词(违反正常书写规则),应避免使用。

另请注意,表格列宽是一项棘手的工作,要描述它的特定问题,您应该显示表格标记和相关的 CSS。

于 2012-09-18T17:20:35.767 回答