我有WebDeveloper扩展,我收到了CSS警告,所以我去调查它。警告是以下3点之一:
Warning: Unknown property 'box-sizing'. Declaration dropped.
Line: 0
然后我做了一个空白文件,注意到它不存在。几分钟后,我发现了一个可重现的原因:包括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>
答案 0 :(得分:22)
选项强>
只要页面呈现正确,我相信这是一个警告,您可以放心地忽略,即使您正在构建一个严格要求验证CSS的网站。
一旦Firefox完全支持box-sizing
(不需要-moz-
前缀),警告就会消失,但直到Firefox 21之后的某个版本才会发生。
背景信息
警告来自某些CSS样式所需的不同语法。要支持所有浏览器,通常必须指定所有各种语法。浏览器将忽略他们不认识的那些。
对于box-sizing
,Firefox需要-moz-
前缀,早期版本的Safari Mobile和Android浏览器需要-webkit-
前缀,其他浏览器根本不需要前缀:
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
添加线性渐变时会出现类似的问题,在这种情况下由值而不是属性名称引起:
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);
当使用不同的语法产生警告时,通常情况下验证器或错误控制台不够智能,无法识别通常无法避免的无害的实际问题。公平地说,它实际上被认为是警告,而不是错误。
其他信息
较新版本的jQuery使用box-sizing
样式用于内部目的。 jQuery 1.8.0只产生一个box-sizing
警告,jQuery 1.7.2不产生任何警告。
jQuery可能会以轻微的方式使用它 - 如果没有首先测试它是否有某种类型的支持 - 但没有做任何实际的伤害。如果是这样,如果有足够的人向jQuery团队抱怨,jQuery代码可能会被重构以解决这个问题(以jQuery运行速度慢一点为代价)。
如果警告大约是-moz-box-sizing
而不是box-sizing
,则更有可能表明Firefox可能存在错误,而不是jQuery的小问题。
答案 1 :(得分:2)
根据jQuery人员的说法,这是一个Firefox问题,他们对此无能为力。截至Firefox 27(测试版),它仍在发生。请参阅:http://bugs.jquery.com/ticket/13569