首页 / HTML5 入门教程 / textarea 多行文本输入

HTML5 入门教程

textarea 多行文本输入

本教程共 110 篇 · 第 61 篇 · 更新于 2026-07-28 · 约 4 分钟阅读

HTML5HTML5 入门教程表单textarea多行文本maxlengthrowscols

61. textarea 多行文本输入

本节目标:学会用 textarea 让用户输入多行文字,如评论、留言、文章内容。

input type="text" 只能单行。要写一段话,得用 <textarea>

基本用法

<textarea name="comment" rows="5" cols="40"></textarea>
  • rows:可见行数(高度)
  • cols:可见字符宽度

标签之间的内容是默认值。注意不要有空格:

<!-- 正确 -->
<textarea name="bio">这个人很懒,什么都没有留下。</textarea>

<!-- 错误(前面有换行和空格) -->
<textarea name="bio">
  这个人很懒,什么都没有留下。
</textarea>

placeholder 占位提示

<textarea name="feedback" placeholder="请写下你的建议..."></textarea>

用户开始输入后提示消失。

maxlength 字数限制

<textarea name="intro" maxlength="200" rows="4"></textarea>

超过 200 个字就输不进去了。

textarea 的 maxlength 是 HTML5 属性。旧浏览器可能不支持,生产环境建议用 JavaScript 双重校验。

禁止缩放

浏览器默认允许用户拖拽 textarea 右下角来调整大小。

要禁止的话用 CSS:

textarea {
  resize: none;
}

也可以只允许水平或垂直缩放:

textarea {
  resize: horizontal; /* 只能水平缩放 */
}
textarea {
  resize: vertical;   /* 只能垂直缩放 */
}

wrap 换行模式

<textarea name="code" wrap="off"></textarea>
  • soft(默认):文本在浏览器中自动换行,但提交给服务器时不包含换行符
  • hard:文本在浏览器中自动换行,提交给服务器时包含换行符

日常开发很少改这个属性。

推荐用 CSS 控制大小

虽然 rows/cols 能定义大小,实际开发中更常用 CSS:

textarea {
  width: 100%;
  min-height: 100px;
  padding: 10px;
  box-sizing: border-box;
}

width: 100% 让宽度自适应父容器,min-height 设定最小高度。

box-sizing: border-box 确保 padding 不会让宽度超出父容器。

完整示例

一个”联系我们”的留言表单:

<form action="/message" method="post">
  <p>
    <label for="subject">主题:</label><br>
    <input type="text" id="subject" name="subject" required style="width:100%">
  </p>
  <p>
    <label for="message">留言内容:</label><br>
    <textarea id="message" name="message" rows="6"
              maxlength="500" placeholder="请输入你的留言(最多500字)..."
              required style="width:100%"></textarea>
  </p>
  <p>
    <button type="submit">发送留言</button>
  </p>
</form>

textarea vs input

对比项textareainput type=“text”
行数多行单行
自闭合否(有开始和结束标签)
默认值写在标签之间用 value 属性
适用场景评论、文章、留言姓名、标题、标签

简单说:短文本用 input,长文本用 textarea。