52

以下の簡単なフォームを参照してください。パスワードボックスの上にあるテキストボックスです。Internet Explorer 7 (および 8、およびおそらくその他) でこれを見ると、テキスト ボックスはパスワード ボックスよりも 10 ピクセル幅が広くなっています。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>IE Text vs. Password test</title>
</head>
<body>                 

<form action="test"> 
  <p>
    <input type="text"><br>  
    <input type="password">      
  </p>
</form>          

</body>
</html>   

CSS を使用するか、HTML に何かを追加することで、それをグローバルに「修正」する方法はありますか?

4

6 に答える 6

96

それらのタイプのフィールドでは異なるフォントが使用されているためです。

修正は、すべての入力が同じフォントを使用するように指定するだけです。

<style type="text/css">
  input {
      font-family: sans-serif;                
  }
</style>     
于 2009-03-27T15:13:59.397 に答える
3

問題は、InternetExplorerのデフォルトのエンコーディングです。Internet Explorerには、UTF-8エンコーディングを使用する場合に同じフィールド長を表示する問題があります。IEで、問題のあるページを表示しているときに、エンコーディングを「Windows」(IE8では[ページ]->[エンコーディング])に変更してみてください。そうすれば、私が何を意味するのかが正確にわかります。

于 2009-07-18T15:22:33.763 に答える
3

現在のページのすべての入力に固定幅を追加できます。

<style type="text/css">
input {
    width: 10em;    
}
</style>
于 2009-03-27T15:15:08.693 に答える
0

フォントサイズは関係ありません。このテストで見られるように: http://build.jhousemedia.com/ie_test.php

理由についてしっかりとした答えがあればいいのですが、回避策は固定幅を適用することです。

于 2009-03-27T15:21:41.953 に答える
0

テキストボックスの幅を設定すると解決しますが、それはあなたが望むものではないと思います.

input[type=text], input[type=password] の最小幅を、テキスト ボックスのデフォルトよりも大きな値に設定してみてください。これらのセレクターを機能させるには、おそらくhttp://deanedwards.me.ukの IE8 スクリプトが必要になるでしょう。

于 2009-03-27T15:15:06.257 に答える