为什么CSS3中有-moz-XXX和-webkit-XXX?

时间:2010-03-06 16:25:27

标签: css css3

我在CSS3中最讨厌的事情是,你应该放置两个属性来做一个效果。我认为这不专业,并增加CSS大小。例如,他们为什么不在-webkit-border-radius

中联合-moz-border-radiusborder-radius

想象一下,如果我们有10个浏览器,我们会写10行来做圆角效果吗?谁能解释一下?

2 个答案:

答案 0 :(得分:29)

这是因为它们是特定于供应商的。 -webkit--moz- - 前缀属性为标准属性。 “命名空间”允许供应商测试新的酷功能,如果它们很好,它们可以被纳入标准。这就是CSS3正在发生的事情:Mozilla和Webkit团队尝试了很酷的东西,现在他们将成为标准。它还没有完成。最终它将成为一致的border-radius属性。

这是一种明确的方式,表明某些内容不适用于所有浏览器。例如,-webkit-transition-property仅适用于基于Webkit的浏览器。

无论如何,-webkit-border-radius-moz-border-radius并没有完全相同。这是因为每个供应商,即使他们做类似的事情,也可以按照他们想要的方式实现功能。该标准将建立一种标准方式,但每个人都可以在自己的命名空间内随心所欲地做任何事情。

答案 1 :(得分:8)

-webkit-border-radius-moz-border-radius是在CSS3边界标准完整之前创建的(它仍然不是批准的标准 - 它目前是候选推荐标准)。

标准只需要border-radius,您可以在specification中看到。

它们特定于mozilla和webkit - 一旦标准获得批准,这应该在所有支持的浏览器上更改为border-radius