Internet Explorer 11 自动换行不起作用

Posted

技术标签:

【中文标题】Internet Explorer 11 自动换行不起作用【英文标题】:Internet Explorer 11 word wrap is not working 【发布时间】:2013-12-07 14:52:34 【问题描述】:

在 IE 11 中,自动换行似乎不再适用于 textarea 元素。在 IE 10 及更早版本中,FF、Safari 和 Chrome 自动换行按预期工作。

IE 11 没有实现任何自动换行。我尝试将“wrap=hard”添加到 textarea 标签并添加“word-wrap: normal;”到 CSS。

还有其他人遇到过这个问题吗?如果是这样,您是否找到了解决方案。 Windows 正在推出此更新,不一致的行为正在成为一个问题。

感谢您提供的任何帮助。

这是我当前的 textarea 标签

<textarea class="wrklst-report_text" id="report_text_6586427" name="report_text[6586427]" title="Report Box" data-exam_seq="6586427" style="width:95%;"></textarea>

这是我计算出来的 CSS

-webkit-appearance: textarea;
-webkit-rtl-ordering: logical;
-webkit-user-select: text;
-webkit-writing-mode: horizontal-tb;
background-color: rgb(255, 255, 255);
border-bottom-color: rgb(0, 0, 0);
border-bottom-style: solid;
border-bottom-width: 1px;
border-image-outset: 0px;
border-image-repeat: stretch;
border-image-slice: 100%;
border-image-source: none;
border-image-width: 1;
border-left-color: rgb(0, 0, 0);
border-left-style: solid;
border-left-width: 1px;
border-right-color: rgb(0, 0, 0);
border-right-style: solid;
border-right-width: 1px;
border-top-color: rgb(0, 0, 0);
border-top-style: solid;
border-top-width: 1px;
color: rgb(0, 0, 0);
cursor: auto;
display: inline-block;
flex-direction: column;
font-family: Verdana, Arial, sans-serif;
font-size: 16px;
height: 300px;
letter-spacing: normal;
line-height: normal;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
padding-bottom: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 2px;
resize: both;
text-align: start;
text-indent: 0px;
text-shadow: none;
text-transform: none;
white-space: pre-wrap;
width: 950px;
word-spacing: 0px;
word-wrap: break-word;
writing-mode: lr-tb;

【问题讨论】:

无复制。您没有显示某些内容,或者您​​弄错了。 您需要指定重现问题的实际输入数据,解释您预期会发生什么以及会发生什么。 “不工作”不是问题描述。 我发现了问题。非常感谢您的意见。它有很大帮助。似乎 IE 11 现在让 textarea 元素从其父 div 继承“空白”属性。 韦斯利是对的。我刚遇到同样的问题,设置white-space: pre-wrap;解决了这个问题。这个问题不是很难重现:创建一个 html 页面,其 textarea 具有固定宽度并包含一个比 textarea 宽度长的句子。使用 IE 11 打开 HTML 文件,你会看到下一个没有换行。 【参考方案1】:

为了确保将来访问此问题的人清楚答案:OP (wesley) 自己在问题下方的 cmets 中回答了该问题:

问题的原因是 Internet Explorer 11 使 textarea 元素继承了应用于直接父级的 white-space 属性。

解决方案是将white-space: pre-wrap 应用于文本区域,由Jean-François Beauchamp 标识。

【讨论】:

textarea white-space: pre-wrap; 在 CSS 中解决了我的问题,谢谢! 在 Maximo 中,也存在同样的问题。在 textarea 之前的样式标记中,我必须添加 white-space: pre-wrap 以便文本区域正确换行。 ——例如overflow: white-space: pre-wrap;" maxlength="32000" -- 在 Chrome 43 和 Firefox 38 中没有这个问题。 使用它来显示只读输入它有解释字符串开头的空白的警告。【参考方案2】:

请注意,IE11 在兼容模式下不会正确换行。要获得它,请单击 Alt、工具、Internet 选项、安全性、本地 Intranet、站点、高级。查看该列表中的内容。

【讨论】:

【参考方案3】:

添加 CSS

 width: 100% 

这会将文本包装到它的标签中

【讨论】:

【参考方案4】:

我来到这里是为了解决一个不同的问题,即自动换行在 IE11 上不起作用;

width: 100% 解决方案确实对我有用。

【讨论】:

【参考方案5】:

我有一个类似的问题,并通过将自动换行样式更改为分词样式来解决它:

 word-break: break-all; 

【讨论】:

我看到你用IE浏览器来的,3年多了才回复。【参考方案6】:

我在 IE (11.431.16299.0) 上的下拉菜单中遇到了类似的问题,我通过应用以下两种样式进行了修复

white-space:pre-wrap;
word-break:break-all;

【讨论】:

【参考方案7】:

问题已在 IE 11 中通过将样式应用为 分词:打破所有;

【讨论】:

【参考方案8】:

这不是您具体问题的答案。

这是对“Internet Explorer 11 word wrap is not working”问题标题的一般回答。

这是 Google 在搜索如何在 IE11 中进行自动换行时的第一个结果,因此我在此处发布此答案以帮助其他人试图弄清楚如何在 IE11 中进行自动换行。


以支持 IE11 的方式实现自动换行的最佳 CSS 属性是:

word-wrap: break-word;

这允许太长而无法拆分的单词,但它仍然允许将长但不是长的单词放在下一行。它也适用于所有浏览器,不仅适用于 IE11,也适用于现代浏览器。

在下图中,“m”字符是一长串连续的 M,在行尾被断开。

“o”字符是一个连续的长行 O,不足以让单词分开,但足够长,需要将 O 放在下一行。

【讨论】:

以上是关于Internet Explorer 11 自动换行不起作用的主要内容,如果未能解决你的问题,请参考以下文章

SVG <title> 中的多行 (Internet Explorer) |换行符,表格

在 Internet Explorer 中的动态内容上自动增长 jQuery 插件

如何从 Internet Explorer 11 降级到 Internet Explorer 10?

为啥即使在模拟 Internet Explorer 8 文档模式时,Internet Explorer 11 也不支持条件注释?

markdown IE上的保证金自动问题(Internet Explorer)

Internet Explorer 11 检测