我在CSS3中最讨厌的事情是,你应该放置两个属性来做一个效果。我认为这不专业,并增加CSS大小。例如,他们为什么不在-webkit-border-radius
-moz-border-radius
和border-radius
想象一下,如果我们有10个浏览器,我们会写10行来做圆角效果吗?谁能解释一下?
答案 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
。