为什么浏览器需要CSS3的厂商前缀?什么阻止他们使用标准的CSS3属性?

时间:2011-12-11 01:24:08

标签: browser css3 vendor-prefix

  

可能重复:
  Why do browsers create vendor prefixes for CSS properties?

例如,如果我有一张我想要旋转的图片,为什么Google Chrome在我使用transform: rotate(50deg);时什么都不做,但在我使用-webkit-transform: rotate(50deg);时工作正常?

制作它的标准是不是要让程序员/设计师只编写一次相同的代码,而不是每个浏览器一次?这是否会在可预见的未来发生变化,还是会一直这样?我只是刚刚开始使用CSS3,这对我来说似乎很奇怪。

2 个答案:

答案 0 :(得分:6)

CSS3尚未正式采用为完整标准 - 它仍然是draft proposal

供应商特定标签允许供应商现在使用experimental implementations开始实施CSS3草案标准或CSS3提议的想法,同时确保他们当前使用这些专有标签的呈现可以在以后区分它们的呈现根据最终规范的实际CSS3标签,即使它不同。

答案 1 :(得分:2)

标准声明尚未实施,前缀供供应商测试和实施专有功能。随着代码变得稳定,浏览器应该开始使用标准语句。

因此,总是将非前缀语句留在最后是很重要的,如下所示:

-o-transition: all 1s linear;
-ms-transition: all 1s linear;
-moz-transition: all 1s linear;
-webkit-transition: all 1s linear;
transition: all 1s linear;

因为Cascade Stylesheets得到了级联的名称。标准语句将覆盖其余部分。