下面显示的HTML,
<input type="text"/>
显示在浏览器中,如下所示:
快速的棕色狐狸跳过懒狗。
使用下面的HTML,
<input type="text" value="The quick brown fox jumped over the lazy dog."/>
它在浏览器中显示如下:
答案 0 :(得分:42)
这是textarea
的工作 - 用于多行文字输入。 input
won't do it;它不是为此而设计的。
所以请使用textarea
。除了它们的视觉差异之外,它们也可以通过JavaScript以相同的方式访问(使用value
属性)。
您可以阻止通过input
事件输入换行符,只需使用replace(/\n/g, '')
。
答案 1 :(得分:35)
Word Break将模仿一些意图
input.break {
word-wrap: break-word;
word-break: break-all;
height: 80px;
}
答案 2 :(得分:5)
你可以不使用输入,你需要使用textarea。
将textarea与wrap="soft"
代码一起使用,并选择其余属性,如下所示:
<textarea name="text" rows="14" cols="10" wrap="soft"> </textarea>
属性:要将其中的文字数量限制为“40”字符,您可以像这样添加属性maxlength="40"
:<textarea name="text" rows="14" cols="10" wrap="soft" maxlength="40"></textarea>
隐藏滚动样式。如果您只使用overflow:scroll;
或overflow:hidden;
或overflow:auto;
,则只会对一个滚动条产生影响。如果您需要每个滚动条的不同属性,请在样式区域中使用此overflow:scroll; overflow-x:auto; overflow-y:hidden;
之类的属性:
要使textarea不可调整大小,您可以使用resize:none;
这样的样式:
<textarea name="text" rows="14" cols="10" wrap="soft" maxlength="40" style="overflow:hidden; resize:none;></textarea>
通过这种方式,您可以拥有或者示例包含14行和10列的文本区域,其中包含自动换行,最大字符长度为“40”字符,其工作方式与输入文本框完全相同,但不使用输入文本。 / p>
注意: textarea适用于行,与输入<input type="text" name="tbox" size="10"></input>
不同,不可以使用行。
答案 3 :(得分:1)
要创建文本输入,该文本输入的内容是单行字符串,但以自动换行格式显示给用户,则可以在<div>
上使用contenteditable属性,也可以使用其他元素:
const el = document.querySelector('div[contenteditable]');
// Get value from element on input events
el.addEventListener('input', () => console.log(el.textContent));
// Set some value
el.textContent = 'Lorem ipsum curae magna venenatis mattis, purus luctus cubilia quisque in et, leo enim aliquam consequat.'
div[contenteditable] {
border: 1px solid black;
width: 200px;
}
<div contenteditable></div>