html - 使输入元素(类型 ="text")处理多行文本

标签 html css forms twitter input

我创建了一个带有输入的表单,但该框只能处理单行中的文本。我想设计它的样式,使输入字段类似于 Twitter 的输入字段,其中框本身是多行:

twitter-input

当您按下回车键时它也会展开:

enter image description here

这是我目前拥有的:

<form name="userForm">
  <input type="text" id="userInput" name="userInput" placeholder="Enter text here.">
  <button type="submit" id="button">Submit</button>
</form>

我已经设置了按钮和输入框的样式,但没有做任何改变其形状的事情,所以它是默认的。我需要调整什么才能实现这一目标?

最佳答案

您需要使用 HTML <textarea>元素。

来自 MDN:

<textarea>

The HTML <textarea> element represents a multi-line plain-text editing control.

使用 <input>对于多行文本, native 是不可能的,如果被黑客攻击,将是无效的 HTML。

HTML5 规范:

4.10.5.1.2 Text (type=text) state and Search state (type=search)

The input element represents a one line plain text edit control for the element's value.

(emphasis mine)


推特输入框

您提到您希望文本区域类似于 Twitter(自动调整大小/无滚动条)。考虑这个选项和以下 SO 帖子:

Autosize

A small, stand-alone script to automatically adjust textarea height.

关于html - 使输入元素(类型 ="text")处理多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35542278/

相关文章:

jquery - 保护 jquery ajax 调用的安全

html - Tailwind Flexbox 网格布局

javascript - jQuery 多个动态表单到多个动态 iFrame

html - 将整个样式表本地化到一个 div?

php - 插入新信息查询

HTML/CSS 适配对象/任何窗口大小/分辨率上的所有内容

javascript - 嵌入网页无效。 (使用 IFrame)

html - 如何修复表单中元素之间的差距?

jquery - 调整父 div 中的所有子 div 元素

javascript - iOS7 Safari 手机| Html 视频流 |未触发结束事件