19

我有 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>
4

2 回答 2

22

选项

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

只要页面正确呈现,我相信这是一个您可以放心忽略的警告,即使您正在构建一个严格要求验证 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 运行速度稍慢一点为代价)。

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

于 2013-03-09T04:02:49.563 回答
2

根据 jQuery 人员的说法,这是一个 Firefox 问题,他们对此无能为力。从 Firefox 27(beta) 开始,它仍在发生。见:http ://bugs.jquery.com/ticket/13569

于 2014-01-27T22:54:17.140 回答