0

为什么浏览器不自动更正 CSS3 过渡?Safari/Chrome 和 Firefox CSS 转换之间的唯一区别是“moz”和“webkit”。当然,firefox 可以添加一个自动更正功能,将 css 中的每个“webkit”实例更改为“moz”,问题就会得到解决。或者还有更多的东西?

4

2 回答 2

2

通常 CSS 选择器的-mozand-webkit是特定于浏览器引擎的属性。选择器可能不稳定,或者在每个浏览器中优化行为时的行为不同。

他们不想“自动更正”到其他实现,因为其他浏览器对 CSS 属性的解释可能不同。在发生冲突时,它可能会导致关于哪些 CSS 属性应该“获胜”的问题。最后,它可能会增加每个浏览器的开发时间,因为他们需要弄清楚其他浏览器引擎在做什么。

于 2013-03-12T19:38:20.323 回答
0

最后,您想要的是根本不使用任何-*前缀。为此,需要有一个由CSS 标准定义的标准语法和行为,等等。然后,您无需使用不同的前缀重复*-opacity: ...多次,而只需编写opacity: ...一次,就像任何其他 CSS 声明一样。

无论当前标准怎么说,供应商特定的前缀都允许浏览器特定的行为。它允许供应商实施尚无标准的新功能,或在提交之前测试功能的实施。最终目标始终是按照标准定义的方式实现标准定义的所有功能;但你不会在一夜之间到达那里。新特性需要尽可能广泛地进行测试,以发现它们的实现问题或标准本身可能存在的问题。此测试通过供应商特定前缀提供功能来进行。

当您使用已记录的标准功能opacity(如 使用供应商特定的前缀功能时,这意味着您使用的功能可能会发生变化和/或可能无法始终如一地工作(目前),风险由您自担。浏览器供应商不会因为某种原因而相互接触前缀,他们朝着标准努力并最终使该功能不带前缀可用。

于 2013-03-13T08:46:01.557 回答