HTML 文本域 - <textarea>

什么是 <textarea> 标签?

<textarea> 是HTML表单中的多行文本输入控件,用于收集用户输入的长文本内容,如评论、反馈、描述等。与 <input type="text"> 不同,<textarea> 可以接受多行文本输入。

基本语法

html
<textarea name="message" rows="4" cols="50">
默认文本内容
</textarea>

核心属性

name 属性

name 属性为文本域指定名称,用于表单提交时标识字段。

示例

html
<textarea name="comment"></textarea>

rows 属性

rows 属性指定文本域的可见行数,决定了文本域的高度。

示例

html
<textarea name="message" rows="6"></textarea>

cols 属性

cols 属性指定文本域的可见列数,决定了文本域的宽度。

示例

html
<textarea name="message" cols="40"></textarea>

placeholder 属性

placeholder 属性为文本域提供提示信息,帮助用户理解应该输入什么。

示例

html
<textarea name="feedback" placeholder="请输入您的反馈意见..."></textarea>

required 属性

required 属性指定文本域为必填项,表单提交前会验证该字段是否有值。

示例

html
<textarea name="message" required></textarea>

disabled 属性

disabled 属性禁用文本域,用户无法与之交互,且禁用的字段不会被提交。

示例

html
<textarea name="old-message" value="旧消息" disabled></textarea>

readonly 属性

readonly 属性使文本域为只读,用户无法修改其值,但只读字段会被提交。

示例

html
<textarea name="template" readonly>这是模板文本...</textarea>

maxlength 属性

maxlength 属性指定文本域允许输入的最大字符数。

示例

html
<textarea name="comment" maxlength="500"></textarea>

minlength 属性

minlength 属性指定文本域允许输入的最小字符数。

示例

html
<textarea name="review" minlength="10"></textarea>

wrap 属性

wrap 属性指定当表单提交时,文本域中的文本如何换行:

  • soft:默认值,提交时不保留换行符
  • hard:提交时保留换行符(需要同时设置 cols 属性)

示例

html
<textarea name="message" wrap="hard" cols="50"></textarea>

<input type="text"> 的区别

特性 <textarea> <input type="text">
文本行数 多行 单行
大小调整 通过 rowscols 或CSS 通过 size 属性或CSS
默认值 包含在标签之间 通过 value 属性
换行处理 支持换行 不支持换行

最佳实践

  1. 始终使用 label 标签:为文本域提供描述,提高可访问性

  2. 设置合适的大小:使用 rowscols 或CSS设置合适的初始大小

  3. 添加最大长度限制:使用 maxlength 防止用户输入过多内容

  4. 提供清晰的提示:使用 placeholder 帮助用户理解输入要求

  5. 考虑可调整大小:默认情况下,大多数浏览器允许用户调整文本域的大小,可以通过CSS的 resize 属性控制

  6. 使用CSS进行样式化:通过CSS设置文本域的外观,如边框、背景色、字体等

示例

html
<label for="message">您的留言:</label>
<textarea id="message" name="message" rows="5" cols="50" placeholder="请输入您的留言..." maxlength="1000"></textarea>

CSS样式化

可以使用CSS对文本域进行样式化,例如:

css
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  resize: vertical; /* 仅允许垂直调整大小 */
}

浏览器兼容性

所有现代浏览器都支持 <textarea> 标签及其常用属性。

总结

<textarea> 标签是HTML表单中用于收集多行文本输入的重要控件。通过设置适当的属性和样式,可以创建用户友好的文本输入界面,适用于需要用户输入长文本的场景,如评论、反馈、描述等。

最后更新:2026-02-07