从实际情况来看, -webkit- 前缀确实导致了问题,并且有可能伤害 Web 标准。

这并不是WebKit的错,实际上这样的事情也会发生在IE上。或者可以这样说,某个领域的主导者其私有特性成为“事实标准”是一件非常自然的事情。

乍一看,这似乎是一个无解的问题。但是实际上要解决这个问题也是非常简单的,那就是——强迫开发者使用正确的方式。最最有效的,就是所有browser vendor达成一致,当某个CSS属性prop达到标准后,不仅要支持该属性,而且要取消对于-prefix-prop的支持。当然这样会破坏兼容性,但是-prefix-本来就是实验性的特性,厂商并没有许诺开发者会保持此兼容性。只要所有厂商都遵循这个policy,就能引导开发者正确使用前缀,真正发挥-prefix-的作用而避免其带来的副作用。

现在唯一的问题是,WebKit愿不愿意做出这个牺牲(相对其他厂商来说)。如果WebKit愿意,则其他厂商没有理由不follow这一policy。

【Update】 另外一些提案:如将-vendor-前缀一律改为-x-,然后用media query来查询browser engine。这样就增加了用vendor特性的难度,强迫开发者写通用的CSS,只针对少量情况写vendor specific的。

— 完 —

本文作者:贺师俊

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 10 个回答,查看全部。
延伸阅读:
如何评价 Opera 浏览器弃用自家 Presto 引擎转用 WebKit?
采用 WebKit 内核的 Opera 浏览器体验如何?

分享到