多行文本域元素 textarea
textarea 的常用属性:
cols:列数rows:行数
缩放的 CSS 设置
- 禁止缩放:
resize: none; - 水平缩放:
resize: horizontal; - 垂直缩放:
resize: vertical; - 水平垂直缩放:
resize: both; block和inline:实验性的值,仅允许以block或inline方向缩放,如何变化取决于文字的方向,请参阅处理不同文字方向以了解更多内容。
- 禁止缩放:
控制多行渲染
<textarea>接受三种属性来控制其多行渲染行为:cols指定文本控件的可见宽度(列),单位为字符的宽度。这实际上是起始宽度,因为它可以通过调整<textarea>的大小来改变,也可以用 CSS 重写。如果没有指定,默认值是 20。rows指定文本控件的可见行数。这实际上是起始高度,因为它可以通过调整<textarea>的大小来改变,也可以用 CSS 重写。如果没有指定,默认值是 2。wrap指定如何控制文本换行。取值可能为soft(默认值),意味着提交的文字没有换行,而浏览器中渲染的文字有换行;hard(使用此属性必须指定cols的值),意味着提交的文字和浏览器中渲染的文字都有换行;和off,停止任何换行行为。
<textarea>元素和普通的单行文本域的主要区别是,用户可以在要提交的数据中包含硬换行(如按下回车键产生)。<textarea>也需要关闭标签,其中要包含的默认文字需要放在开闭标签之间。作为对比,<input>是不包含关闭标签的空元素,它的默认值应该在value属性中指定。在视觉上,输入的文字会换行,并且表单空间的大小是可调的。现代浏览器会提供拖动手柄,你可以通过拖拽来放大或缩小文本区的大小。
注意即使可以将任何东西放入到
<textarea>元素中,甚至可以包含其他 HTML 元素、CSS 和 JavaScript,由于该元素的特性,这些内容都将以纯文本的形式渲染。在非表单组件上使用contenteditable可以为捕捉 HTML 或富文本内容提供 API。