【发布时间】:2018-12-20 18:58:55
【问题描述】:
即使用户没有插入新行,也会在 textarea 的值中插入换行符。
我想继续在控件中使用文本换行,并允许用户在需要时输入换行符。但是浏览器在换行时插入换行符是不可接受的。
这不应该发生,因为 textarea 设置为软换行。
<textarea type="text" id="Answers_Text" runat="server" class="answerTextBox" maxlength="256" wrap="soft"></textarea>
.answerTextBox {
height: 60px;
width: 580px;
font-size: 14px;
white-space: pre-wrap;
word-break: normal;
}
如果您输入的句子正好适合文本区域的宽度,然后输入一个空格并开始输入新句子,则第二个句子会正确换行到第二行,并且不会插入换行符。但是,如果您输入一个空格作为第二个句子的第一个字符,则会在该句子的开头插入一个文字换行符,替换通常在换行时使用的软换行符。
我已尝试在 Chrome 和 Firefox 中对此进行测试,但此硬换行符仅在 Chrome 中插入。据我了解,只有将 wrap 属性设置为“硬”时才会发生这种情况。有没有我缺少的设置?还是这是预期的行为?
【问题讨论】:
-
你试过关闭 textarea 元素吗?
<textarea type="text" id="Answers_Text" runat="server" class="answerTextBox" maxlength="256" wrap="soft"> </textarea> -
现在是一个自动关闭标签。据我所知,这个元素允许自动关闭。我确实尝试更改为显式结束标记,结果相同。
-
好吧,textarea 不是自闭合元素 (source)。你能做一个 jsfiddle 让我们看看问题吗?
-
啊,那我很抱歉。这是带有正确结束标签的小提琴链接:link
-
感谢您的提琴。我可以确认问题出现在 Windows 8.1 上的 Chrome 中,但不在 Firefox 中。正如@Godot 所说。我玩过css,但找不到解决方案。我会说这是 Chrome 浏览器的一种奇怪行为。
标签: html css google-chrome