CSS3 规则带来了许多有趣的特性。
以边界半径为例。该标准规定,如果您编写此规则:
div.rounded-corners {
border-radius: 5px;
}
我应该得到一个 5px 的边界半径。
但是 Mozilla 和 webkit 都没有实现这一点。但是,它们实现了相同的东西,具有相同的参数,具有不同的名称(-moz-border-radius
和-webkit-border-radius
,分别)。
为了满足尽可能多的浏览器,您最终会得到以下结果:
div.rounded-corners {
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
我可以看到两个明显的缺点:
- 复制粘贴代码。这有明显的风险,我不会在这里讨论。
- W3C CSS 验证器不会验证这些规则。
同时,我没有看到任何明显的优势。
我相信 Mozilla 和 webkit 背后的人比我自己更聪明。必须有一些充分的理由以这种方式构建事物。只是我看不到他们。
所以,我必须问你们:这是为什么呢?