テキストエリアと入力テキストの属性cols
と属性の動作を丁寧に理解しようとしています。size
それは簡単なことですが、列とサイズの値が同じである場合、なぜそれらの幅が異なるのかわかりませんか?
ドキュメントによると、両方の属性は、指定された数の文字が内部に収まるように要素のサイズを変更する必要があります。
... size属性は、入力要素の表示幅を文字数で指定します。[ソース - w3schools]
cols属性と rows 属性 (...)は、テキスト領域を作成する高さと行の幅を指定することに注意してください。値は文字単位で測定されます 。[ソース - w3]
ただし、両方の要素に同じ値を割り当てようとすると、幅が異なります。入力フィールドが小さすぎて、指定された文字数とテキストエリアに対応できません。広すぎます。最も重要なことは、両方の幅が異なることです。
例えば:
<input type="text" size=40>
<textarea cols="40"></textarea>
生成:
ここを参照してください - http://jsfiddle.net/yjERR/
Chrome 29 と Firefox 24 の両方でこれを試しました。
幅がフォント スタイルに依存することは理解していますが、両方の要素の幅を同じにするべきではありませんか? 内部要素のマージンまたは他の何かがこの違いを引き起こしていますか?
アップデート
2 つの要素のフォント スタイルが異なるようですが、同じ font-family と font-size を割り当てても、異なる幅が生成されます。