7

次の size 属性は何の効果もありません。なんで?

<input type="text" size="80" placeholder="blablabla bla lba bla bla bla blabla bla bla bla lba">

デフォルトは 60 文字ですが、それを変更するためにできることはないようです。

4

5 に答える 5

3

おそらく、それに影響を与える何らかのスタイルがあります。スタイル ルールがなくても問題なく動作します。ただし、小さいサイズのスタイル ルールを適用すると、それが優先されます。

どのスタイル ルールがそれに影響を与えているかを把握するには、それを右クリックして [要素の検査] を選択し、右側に表示されるスタイル情報を確認します。

于 2012-04-07T23:22:38.727 に答える
1

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>要素のフォントを等幅フォントに設定できます。これで問題が解決するわけではありませんが、幅が指定された幅に近づきます。

于 2012-04-08T04:48:44.713 に答える
0

Mac OS Lion 上の Google Chrome 26 以降、「ch」単位はサポートされていません。

インライン スタイル「幅: 16ch」で要素を検査すると、スタイルは「無効なプロパティ値」としてマークされます。他の一般的な単位 (pt、px、em、%) は問題なく受け入れられます。

于 2013-04-12T22:31:07.853 に答える