2009-04-27 4 views
0

視覚的に2つのフィールドが互いに重なっているページがありますが、実際には2つの異なるフォームがあります。HTMLフォームフィールド(type = text)のデフォルトサイズは?

Firefoxでは、同じ幅を持つように見えます。 IE(IE6、IE7、IE8)では、幅が異なります。ここで

はサンプルです、私はあなたが(サイズなし)これを実行すると、問題は「サイズ=」

<input id="fieldid" type="text" name="fieldname" value="" /> 

の欠如だと思い、サイズは何ですか?

私は... HTML3HTML4

をいくつかのドキュメントが見つかりましたが、デフォルト値がどうあるべきかあれば明確なアイデアを得ることができませんでした。

Firefox 3.0でFirebugをプレイしていると、Geckoで20のように見えます。

IEでは、私は理解できないいくつかの他の条件に基づいて、変数に見えます。

UPDATE:

私はさらに2つのフォームの特性を比較してみましたが、変数を分離することができませんでした。私は両方の使用サイズを設定するためにファイルをハックしました= 20、しかし、幅はまだ異なります(以前よりも少ない)。

+0

UPDATE:私はこの質問のソース私はIEで、サイズを設定せずに二つのフィールドを持っていた、と彼らは異なる形で現れていたということでした異なる幅。最近、私はそのページでいくつかの変更をハッキングし、その根本的な原因は、IEのtype = "text"と "type = password"のデフォルトの幅が異なるように見えるということです。同じフォームでさえ、CSSなしでも可能です。 – benc

答えて

3

IE6と7では20と表示されます。テスト条件や結果が分からない場合、なぜ「可変」デフォルトサイズが発生しているのかを言うことは難しいです。

"size"属性は、常にスタイルで設定されたフォントサイズを基準にしてレンダリングされます。例えば。 「サイズ」は文字の幅を基準にしているため、サイズ10のフォントでは「20」はサイズ20のフォントで「20」とは異なります。ハード/スタティックな幅が必要な場合は、幅cssプロパティを使用します。

+0

値が20であることをどのように確認できますか? JavascriptでDOMをチェックしましたか? – benc

+0

@bencレンダリングされたテキストボックスを明示的に20に設定されたものと比較しました。常に同じレンダリングされているので、内部的にはレンダリング時に20を使用します。 –

+0

ああ。私はそれを考えなかった。 (悲しい) – benc

0

デフォルトのサイズがある20.Toの増加サイズの使用「サイズ」

関連する問題