仕様
TEXTAREA要素は、
要素の生の値に対する
複数行のプレーンテキスト
表します。
textarea | 複数行の |
---|---|
カテゴリ |
|
種類 | エスケープ可能な |
この要素を 使用できる 状態 | フレージング |
許可されて いる内容 | テキストのみ |
属性 | グローバル |
text / html での タグの省略 | 省略できません。 |
許可されて いるARIA | なし[既定値 : textbox] |
DOM インター フェイス | HTMLText
|
レンダリング | フォーム
initial は、プロパティの初期値 (または既定値) を設定する指定なので、 letter-spacing: normal; word-spacing: normal; line-height: normal; text-transform: none; text-indent: 0; text-shadow: none; text-align: start; と置き換えて読んで頂くと判り易いかと思います。 CSS を大雑把に読むと、 テキストの字間のスペースは通常の字間です。 タグや単語の間隔は普通です。 行ボックスの高さはユーザーエージェントに依存します。 テキストを大文字表記に変換しません。 字下げは 0 です。 テキストに影を追加しません。 水平方向の配置をインラインコンテンツは行ボックスの左辺に寄せられます。 連続するホワイトスペースはそのまま残されます。行の折り返しは、改行文字や br要素のあるときか、行ボックスを埋めるのに必要なときに行います。 width および height プロパティには、コンテンツ、パディング、境界線の領域が含まれますが、マージンは含まれません。 などになります。 |
参加 コンテキスト | インライン |
確立 コンテキスト | インライン |
textarea要素は、要素の生の値に対する複数行のプレーンテキスト編集コントロールを表します。コントロールの内容は、コントロールのデフォルト値を表します。
| |
使用可能な箇所
フレージングコンテンツを
受け入れる要素に
配置できます。
textarea要素は、フレージング
フレージング
インタラクティブ
ラベル付け可能な要素なので、他にラベル付け可能な要素がある label要素には配置できません。
フォーム関連要素ですが form属性で要素を form要素に関連付ける事ができるので、form要素の子孫に配置する必然はありません。 form要素の子孫でもなく、form属性での関連付けもない記述は、用途としては不適切です。 (このサイトでの例示では、送信等の安全の為に意図的に form要素とフォーム関連要素との関連付けを避けている箇所もあります。)
<pre>
<textarea>テキスト</textarea>
</pre>
フレージング
配置できるコンテンツ
テキストのみ
配置できます。
textarea要素は、テキストを配置できます。
<textarea>テキスト
てきすと</textarea>
textarea要素には、テキストのみ配置できます。配置したテキストは編集コントロールのデフォルト値を表します。
属性
form属性
<textarea form=
"ifmForm" name= "ntaTextarea"> </textarea>
<form id=
"ifmForm" action= "./fmreceive.htm"> <button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
form属性は、form要素の id属性値を設定します。要素を form要素に関連付けます。省略したときは、最も近い祖先の form要素に関連付けられます。
name属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea"> </textarea>
<textarea>
</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
name属性は、要素の名前を指定します。フォームの送信とform.elements APIで使用する要素の名前です。
disabled属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" disabled>abc ABC</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
disabled属性は、ユーザーがそのコントロールを利用できないことを示す論理属性です。変更できないだけでなく、送信もできません。
autocomplete属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" autocomplete= "on"> </textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
autocomplete属性は、入力欄が提供する自動補完機能の種類を示します。 関連付けられた form要素の autocomplete属性によって既定値が指定されます。form要素の autocomplete属性それ自体の既定値は on です。 on はブラウザーはユーザーが以前入力した値を元に、値の自動補完を行うことができます。
required属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" required> </textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
required属性は、ユーザーはフォームを送信する前に値を入力する必要があることを示す論理属性です。
readonly属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" readonly>abc ABC</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
readonly属性は、ユーザーがコントロールの値を変更できないことを示す論理属性です。変更できないだけで選択も可能ですし、送信も可能です。
maxlength属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" maxlength= "10">abc ABC</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
maxlength属性は、ユーザーが入力可能な最大文字数を指定します。正の整数値のみ有効で、無効な値の場合や指定がない場合は無制限として扱われます。有効な minlength属性の値との関係で矛盾が生じない様にしなければなりません。
尚、改行(キャリッジリターン) は1文字分として数えられます。
minlength属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" minlength= "10">abc ABC</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
minlength属性は、ユーザーが入力しなければいけない必要最小文字数を指定します。正の整数値のみ有効で、無効な値の場合や指定がない場合は無制限として扱われます。有効な maxlength属性の値との関係で矛盾が生じない様にしなければなりません。
尚、改行(キャリッジリターン) は1文字分として数えられます。
編集途中に最小文字数未満になる事を妨げる物ではありません。また、入力必須項目を表す訳でもありません。入力必須とするならば、required属性も指定してください。
cols属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" cols= "6">abcdef ABCDEF</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
cols属性は、このプレーンテキスト編集コントロールの外見上の幅です。属性値は 0 より大きい整数値のみ有効で、無効な値の場合は既定値が扱われます。既定値は 20 です。
rows属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" cols= "6" rows= "3">abcdef ABCDEF</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
rows属性は、表示する行数を指定します。属性値は 0 より大きい整数値のみ有効で、無効な値の場合は既定値が扱われます。既定値は 2 です。
wrap属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" wrap= "hard" cols= "6">abc ABC</textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
wrap属性は、テキストの折り返しの制御法を指定します。値は hard か soft のいづれかで、既定値 soft です。
hard は各行の長さがコントロールの幅を超えないように、ブラウザーが自動的に改行 (CR+LF) を挿入します。cols属性を指定しなければなりません。
soft はブラウザーは値に含まれる改行 (CR+LF のペア) をすべて維持しますが、改行の付加は行いません。
placeholder属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" placeholder= "プレースホルダー" ></textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
placeholder属性は、コントロールに値がない場合のユーザーのデータ入力を支援するための短いヒント(単語または短いフレーズ)を表します。
dirname属性
<form action=
"./fmreceive.htm"> <textarea name=
"ntaTextarea" dirname= "ntaDir"> </textarea>
<button name=
"nbtSender" value= "./fmtextarea.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
dirname属性は、フォーム送信で要素の方向性を送信するために使用するフォームコントロールの名前を指定します。
気を付ける点
フォーム関連要素
フォーム関連要素であり送信が関わりますが、それぞれの処理のタイミングには注意が必要です。また複数行のコントロールなので、データ内の改行の制御コードの扱いも留意が必要です。
大きさの変更
<textarea style=
"resize: none;">テキスト てきすと</textarea>
textarea要素は、大きさの変更が可能です。CSSの resizeプロパティで制御できます。
要素の大きさが変わる事により、後続の要素の配置や包括要素の大きさに影響がでることがあります。包括要素の幅, 高さを指定して影響を制限する事も検討するべきです。
CSSリセット
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
overflow: auto;
}
normalize.css というリセットCSS の一部で、すべてのブラウザでフォントスタイルを変更します。
FirefoxおよびSafariでマージンを削除します。
IE 10以降のデフォルトの垂直スクロールバーを削除します。
詳細は理解していないのですが、いろいろとバグ等の対応も含んでいる様なので、リセットCSSを利用する事をお勧めします。