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 回答