jQuery导致Firefox大小调整警告

19 css firefox jquery web-developer-toolbar

我有WebDeveloper扩展,我收到了CSS警告,所以我去调查它.警告是以下3项:

Warning: Unknown property 'box-sizing'.  Declaration dropped.
Line: 0
Run Code Online (Sandbox Code Playgroud)

然后我做了一个空白文件,注意到它不存在.几分钟后,我发现了一个可重现的原因:包括jQuery 1.9.1脚本!

我能做什么或应该做什么?我想使用jquery,但我觉得有点烦人,我将永远在工具栏中看到CSS警告.

<!DOCTYPE html>
<html>
<head></head>
<body>
<div>Empty</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Mat*_*lin 22

选项

  1. 使用jQuery 1.7.2.
  2. 提出jQuery团队的问题并希望修复(或自己提供).
  3. 使用Firebug而不是WebDeveloper(可能有帮助也可能没有帮助).
  4. 忽略它.

只要页面呈现正确,我相信这是一个警告,您可以放心地忽略,即使您正在构建一个严格要求验证CSS的网站.

一旦Firefox完全支持box-sizing(不需要-moz-前缀),警告就会消失,但直到Firefox 21之后的某个版本才会发生.

背景信息

警告来自某些CSS样式所需的不同语法.要支持所有浏览器,通常必须指定所有各种语法.浏览器将忽略他们不认识的那些.

box-sizingFirefox需要-moz-前缀的情况下,早期版本的Safari Mobile和Android浏览器需要-webkit-前缀,其他浏览器根本不需要前缀:

-webkit-box-sizing: content-box;
   -moz-box-sizing: content-box;
        box-sizing: content-box;
Run Code Online (Sandbox Code Playgroud)

添加线性渐变时会出现类似的问题,在这种情况下由值而不是属性名称引起:

background-image: -webkit-linear-gradient(top, #444, #999);
background-image:    -moz-linear-gradient(top, #444, #999);
background-image:     -ms-linear-gradient(top, #444, #999);
background-image:      -o-linear-gradient(top, #444, #999);
background-image:         linear-gradient(top, #444, #999);
Run Code Online (Sandbox Code Playgroud)

当使用不同的语法产生警告时,通常情况下验证器或错误控制台不够聪明,无法识别无害的通常不可避免的实际问题.公平地说,它实际上被确定为警告,而不是错误.

附加信息

较新版本的jQuery将该box-sizing样式用于内部目的.jQuery 1.8.0只产生一个box-sizing警告,jQuery 1.7.2不产生任何警告.

jQuery可能会以一种轻微的方式使用它 - 没有先测试是否有某种类型的支持 - 但没有造成任何实际伤害.如果是这样,如果有足够的人向jQuery团队抱怨,jQuery代码可能会被重构以解决这个问题(以jQuery运行速度慢一点为代价).

如果警告是关于-moz-box-sizing而不是box-sizing,那更可能表明Firefox可能存在错误而不是jQuery的小问题.