微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么mozilla和webkit将-moz-和-webkit-加入CSS3规则?

CSS3规则带来了许多有趣的功能.

border-radius为例.标准说如果你写这个规则:

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 validator不会验证这些规则.

与此同时,我没有看到任何明显的优势.

我相信mozilla和webkit背后的人比我更聪明.必须有一些很好的理由让事情以这种方式结构化.只是我看不到它们.

所以,我必须问你们:这是为什么?

解决方法

-moz-border-radius描述了Mozilla的语义.如果使用不同的语义发布CSS3,那么Mozilla总是可以使用这些语义实现border-radius,并且它们不会破坏任何人的网站.

同时,如果他们直接使用border-radius,那么如果CSS3以不同的语义发布,Mozilla必须在打破人们网站之间做出选择,或者永远支持非标准CSS.

原文地址:https://www.jb51.cc/css/214844.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。