【发布时间】:2010-12-10 20:28:58
【问题描述】:
我需要保留和换行 div 中的文本。到目前为止,我很难想出一个解决方案。我能找到的最佳解决方案不适用于所有浏览器。
以下内容在 Chrome 和 IE6+ 中有效,但在 Firefox 中文本不换行。
white-space: pre;
word-wrap: break-word;
我发现无论出于何种原因,文本在 Firefox 中都没有用空格:pre 换行。并且 -moz-pre-wrap 在 Firefox 3.5 中不起作用(为什么??),只能预包装。但是当我将预包装添加到列表中时,IE 6 和 7 不起作用。非常沮丧。
代码:
.introsub {
position: relative;
top: 30px;
left: 25px;
width: 550px;
font-weight: normal;
line-height: 1.5em;
overflow: auto;
margin: 0;
padding: 1.5em;
white-space: pre;
word-wrap: break-word;
}
【问题讨论】:
-
文字不是默认自动换行的吗?你能给我看一些示例代码吗?
-
我以为会,但事实并非如此。 .introsub { 位置:相对;顶部:30px;左:25px;宽度:550 像素;字体粗细:正常;行高:1.5em;溢出:自动;边距:0;填充:1.5em;空白:pre; word-wrap:断词; }
-
关于 codeplex 的问题视图似乎受到了这个影响。
-
默认情况下,几乎每个浏览器都会在几乎所有地方进行自动换行。通常问题是如何将其关闭。我认为如果你问“如何打开它”你已经问错了问题。我要问的问题是“为什么 @#$%& 不是默认打开的?”可能搞砸的是一些看似无关的元素在级联中更高的一些奇怪的东西,这些元素在任何地方都被继承。您能否在某处指出一个完整的工作示例,以便我们检查所有代码(包括看起来不相关的部分)?
-
TLDR:
white-space: pre-wrap;
标签: css