次の size 属性は何の効果もありません。なんで?
<input type="text" size="80" placeholder="blablabla bla lba bla bla bla blabla bla bla bla lba">
デフォルトは 60 文字ですが、それを変更するためにできることはないようです。
次の size 属性は何の効果もありません。なんで?
<input type="text" size="80" placeholder="blablabla bla lba bla bla bla blabla bla bla bla lba">
デフォルトは 60 文字ですが、それを変更するためにできることはないようです。
textarea
要素の代わりに要素を使用しinput
ます。
<textarea cols="80" rows="1" style="overflow: visible" placeholder=
"blablabla bla lba bla bla bla blabla bla bla bla lba"></textarea>
これにより、完全に一貫したレンダリングではありませんが、より一貫したレンダリングが生成されます。この設定overflow: visible
は、IE に 80 文字のスペースを確保するためにあります。それ以外の場合は、垂直スクロール バーのために 79 文字しか収まりません。
問題が発生する理由input
:
この属性size="80"
は、フィールドの表示幅を「平均」幅の 80 文字に設定します。これは正確には定義されておらず (「平均」とは何ですか?)、ブラウザはそれを非論理的に実装していsize="80"
ます。そのため、ブラウザは一貫性さえありません。割合は、フォントとブラウザによって異なります。(これは他のブラウザでも同様です。)
使い続ける必要がある場合input
:
を使用できますstyle="width: 80ch"
が、すべてのブラウザーがこの CSS3 機能をサポートしているわけではなく、適切に実装されているという保証はありません。単位は、定義上、桁ゼロのch
送り幅「0」です。これは、ほとんどのフォントで、一般的な数字の送り幅と同じです。(例えば、Firefox はこれをほぼ正しく実装しています。ほとんどですが、完全ではありません。)
<input>
要素のフォントを等幅フォントに設定できます。これで問題が解決するわけではありませんが、幅が指定された幅に近づきます。
Mac OS Lion 上の Google Chrome 26 以降、「ch」単位はサポートされていません。
インライン スタイル「幅: 16ch」で要素を検査すると、スタイルは「無効なプロパティ値」としてマークされます。他の一般的な単位 (pt、px、em、%) は問題なく受け入れられます。