CSS前缀的用途是什么?

CSS前缀的用途是什么?,css,browser,vendor-prefix,Css,Browser,Vendor Prefix,我知道,如果我们想确保某些CSS3功能在任何地方都能工作,我们需要使用W3C推荐的前缀版本,如: transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; -webkit-transition: all 1s ease; 我知道前缀用于实验特性,但为什么它们是必需的?为什么他们不在原始的W3C上测试它们呢?是否每个CSS3功能都有或有每个浏览器的前缀,或者如果他们认为应该,他们只是创建一

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

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

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

供应商前缀的最初目的是让供应商能够添加他们自己的非标准功能,以便在CSS实现中使用。然而,它们中的大多数被用于实验版本的东西,最终成为标准

如果一个实验属性是不固定的,这意味着它是一个属性的正确的标准版本。如果每个浏览器的渲染方式都不同,那么就没有太多的标准。相反,浏览器避免实现unfixed属性,直到它确定它是根据标准执行的,然后它开始支持unfixed属性,作为正确支持此特定标准的一种方式


不是每个特征都有前缀;事实上,供应商只有在认为必要时才会创建前缀。

使用实验功能的人已经知道,根本不应该期望出现标准的跨浏览器行为

在我看来,没有必要在新功能前面加前缀。这使得使用它们变得更加困难,因为您必须编写标准属性、chrome的前缀属性、firefox、opera。。。它还使样式表变得更大(将来不再需要这些前缀属性时,谁会删除它们?)


我看不出有什么好处,但这只是我的意见。

Ya。。可能在将来,我们将不必为不同的浏览器使用这些前缀,但现在每个浏览器都有不同的css库,因此作为前端开发人员,我们必须在css中使用这些前缀,否则一些浏览器将不会呈现我们的css。这就是他们的工作方式,我们必须遵循他们

以下是Webkit和Firefox前缀库的特点


Flexbox模块是“为什么不遵循标准”的一个很好的例子。该规范已经运行多年,在任何浏览器中实现的第一个草案是从2009年开始的。从那时起,草案被完全改写。属性名称以及某些属性采用的值都已更改。直到2012年9月,规范才成为候选建议。此外,供应商应该在标准稳定后删除前缀(候选建议)。只有基于Webkit的浏览器顽固地拒绝在许多新属性上添加前缀(请参阅:)。@cimmanon:Quit给了我更多讨厌Webkit的理由!那是什么?你想要更多的理由吗?好的,给你@西曼农:我听说过。Mozilla和Opera有没有接触过它?Mozilla上没有,但Opera有。我第一次在旧的flexbox演示中注意到它们,因为Opera在离开草稿阶段后才开始实施它,所以它们不应该起作用。