0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【HTML】textareaでつまずいた3つのポイント — inputとの違い・閉じタグ・rows/colsの正しい理解

0
Last updated at Posted at 2026-07-23

Webフロントエンドを学習中です。フォームを作っていて、複数行の入力欄をつくる <textarea> の仕様が地味にややこしく、<input type="text"> と混同して手が止まりました。整理も兼ねて、同じところでつまずく人向けにまとめておきます。

<textarea><input type="text"> の違い

どちらも「文字を入力してもらう」ための部品ですが、役割が少し違います。

<input type="text"> <textarea>
入力できる行数 1行のみ 複数行(改行OK)
タグの形 閉じタグなし(空要素) 開始タグ + 閉じタグ
初期値の指定 value 属性 タグの中に書いたテキスト
サイズ変更 不可 デフォルトでマウスでリサイズ可

ざっくり言うと、1行で足りるなら input、問い合わせ本文のように複数行を想定するなら textarea という使い分けです。

以下、textarea で戸惑いやすい3つのポイントを順に見ていきます。

ポイント①:閉じタグが必要(input にはない)

<input> は閉じタグを書かない「空要素(void element)」ですが、<textarea>開始タグと閉じタグをセットで書く必要があります

<!-- input:閉じタグなし -->
<input class="input" type="text">

<!-- textarea:閉じタグが必要 -->
<textarea class="input" id="comment" name="comment"></textarea>

閉じタグ </textarea> を書き忘れると、それ以降の要素が textarea の中身として飲み込まれ、レイアウトが崩れます。「なんとなく input と同じ形」で書くとハマるポイントです。

ポイント②:タグの中身は「初期値」になる

inputvalue 属性で初期値を指定しますが、textarea開始タグと閉じタグの間に書いたテキストがそのまま初期値 になります。

<textarea name="comment">最初から表示される文字になります</textarea>

ただ、実際のフォームで初期値を入れたい場面はそれほど多くありません。多くの場合は中身を空にして、

<textarea class="input" id="comment" name="comment"></textarea>

のように、これだけで完結させて使います。「中身は基本カラ、閉じタグは省略しない」と覚えておくと迷いません。

ポイント③:rows / cols とCSSの優先順位

textarea には、入力欄の初期サイズを指定する属性があります。

  • rows:表示する行数(高さ)
  • cols:1行に表示する文字数の目安(横幅)
<textarea class="input" id="comment" name="comment" rows="4" cols="50"></textarea>

ただし、CSSで width / height を指定している場合はそちらが優先されます。CSSでサイズを管理しているなら、rows / cols が最終的な見た目を決めるわけではありません。

とはいえ rows は「CSSが当たるまでの初期の高さ」として機能するので、最低限の高さの目安として rows だけ書いておくのも一つの手です。

よくある誤解
rows / cols を書かないとエラーになる」と思われがちですが、省略しても既定値(rows=2, cols=20)が使われるだけでエラーにはなりません。
必ず書く必要があるのは閉じタグ </textarea> の方です。ここを混同しないようにしましょう。

まとめ

<textarea> を使うときのポイントは次の3つです。

  1. 閉じタグ </textarea> は必須input と違い、省略すると表示が壊れる)
  2. タグの中身は初期値になる。基本は空で使う
  3. rows / cols はあくまで目安。サイズを厳密に決めたいなら CSS の width / height を使う

input と似ているようで、閉じタグと初期値の扱いが違う」——ここさえ押さえておけば、textarea でつまずくことはほぼなくなるはずです。

まだ学習中の身なので、誤りや補足があればコメントで教えていただけると嬉しいです。最後まで読んでいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?