一尘不染

CSS前缀的目的是什么?

css

我知道,如果要确保某些CSS3功能在任何地方都可以使用,我们需要使用W3C推荐的前缀版本,例如:

transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-webkit-transition: all 1s ease;

我知道这些前缀用于实验功能,但为什么有必要?他们为什么不在原始W3C上测试它们?每个CSS3功能是否都为每个浏览器都具有或具有前缀,或者如果他们认为应该的话,他们只是创建带前缀的版本?


阅读 548

收藏
2020-05-16

共1个答案

一尘不染

供应商前缀的最初目的是使供应商能够添加自己的非标准功能以供其CSS实现使用。但是,它们中的大多数用于最终成为标准的实验性版本。

如果实验性属性没有前缀,则表示它是属性的正确标准版本。如果每个浏览器都以不同的方式呈现它,那么没有太多的标准。取而代之的是,浏览器在确定已按照标准执行此操作之前避免实现未添加前缀的属性,然后开始支持未添加前缀的属性,以此表示它正确支持此特定标准。

并非每个功能都有前缀。实际上,供应商仅在认为必要时才创建前缀。

2020-05-16