2

これは奇妙な問題です-次のjsFiddleでは、IE7またはIE8を使用している場合、jQueryはセルのパディングに対して0pxを返します。これは正しいです。

http://jsfiddle.net/ZmfHE/

ただし、これをIE7またはIE8の単純なHTMLページ(以下のコード)でローカルにテストすると、jQueryはパディングが1pxであることを示します。なぜこれが起こっているのか誰かがわかりますか?何かが足りない場合を除いて、コードはjsFiddleと同じですか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <script src="jquery-1.8.1.min.js" type="text/javascript"></script>
    <script>

      $(document).ready(function() {
        alert($("td").css("padding-left"));
      });

    </script>
  </head>
  <body>

    <table cellspacing="0" cellpadding="0" border="0" width="400">
      <tr><td>some text</td></tr>
    </table>

  </body>
</html>
4

1 に答える 1

3

フィドルはnormalize.cssをページに適用しているため、0で返されます。IE開発ツールバーを使用してフィドルでスタイルの正規化を無効にすると、1pxでも返されます。IE 8開発者バーを見ると、フィドルで正規化を解除したとき、またはローカルで実行したときに、1pxのパディングが必要であると考えられていることがわかります。

パディング画像

したがって、ご使用の環境での解決策は、正規化CSSを使用して必要なフォーマットを適用することです。

于 2012-09-06T18:28:12.067 に答える