分词解决方案:在Firefox中打破所有样式?

时间:2011-12-21 13:45:19

标签: css firefox word-wrap html-table

我正在尝试将文本包装在td中并使用以下样式

word-break:break-all

在IE中工作得非常好,但在Firefox中失败,请注意这不受支持! 尝试了http://petesbloggerama.blogspot.com/2007/02/firefox-ie-word-wrap-word-break-tables.html中给出的解决方案。似乎没有工作,任何解决方案?

谢谢, 阿达什讷

6 个答案:

答案 0 :(得分:10)

我终于遇到了一些麻烦。但我设法让它发挥作用:

.hardBreak {
  white-space: pre-wrap; /* css-3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word; /* Internet Explorer 5.5+, 6, 7, 8 compability-mode */
  -ms-word-break: break-all; /* Internet Explorer 8 */
}

我希望这会有所帮助。

拥有IE8本机模式时需要最后一个选项。这对我有用,并在FF8,IE 7,8兼容性,8native,Chrome中进行了测试。

答案 1 :(得分:4)

自动换行仅适用于内联块或块元素。因此,您必须更改元素类型。像:



.example {
  display: inline-block;
  word-break: break-all;
}




答案 2 :(得分:1)

使用 自动换行:break-word; 它肯定会有用!!

答案 3 :(得分:1)

使用

display : block;

没关系

答案 4 :(得分:0)

我不认为你提到的解决方案已经工作了一段时间;它可能(无意中?)在某些过去版本的Firefox上工作,但它看起来不像是可以预期的那样(pre-wrap不应该打破单词)。

让Firefox将点视为允许的直接换行机会的方法是<wbr>标记 - 不在任何规范中,但得到广泛支持。通常最好通过将其插入适当的点来使用,但在极端情况下,您甚至可以将它放在任意两个字符之间(可能会使用预处理,服务器端脚本或客户端)用来执行此操作的JavaScript)。

答案 5 :(得分:0)

请改为尝试:

word-wrap:break-word

它应该适用于所有浏览器(只要你在div / cell上有一个固定的宽度,你就可以使用它...