在IE7 / 8中,jQuery告诉我cellpadding = 0个单元格的填充为1px

时间:2012-09-06 18:08:01

标签: jquery internet-explorer cellpadding

这是一个奇怪的问题 - 在下面的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>

1 个答案:

答案 0 :(得分:3)

小提琴正在将normalize.css应用于页面,这就是它返回0的原因。如果您使用IE开发工具栏禁用小提琴上的标准化样式,它也将返回1px。看看IE 8开发人员栏,您可以看到它在认为在小提琴中取下标准化或在本地运行它时应该有1px填充:

Padding Image

因此,您环境中的解决方案是使用规范化CSS来应用您想要的格式。