我能理解将它们用于非官方的实验性事物(即不在CSS3规范中)以防止名称冲突,但为什么需要在阴影上加前缀?
根据CSS3规范,每个供应商不应该实现相同的效果吗?
编辑:一旦完成CSS3,前缀会消失吗?我只是对一些功能为什么有前缀的历史感到好奇,有些则没有,当所有主流浏览器的效果看起来都相同时。
答案 0 :(得分:11)
众所周知,CSS规范需要年龄才能达到候选推荐阶段,这是他们被认为是实现就绪的阶段。即便如此,如果在实施和测试阶段发现问题,CR也可以反弹到WD(这对CSS2来说是个问题,最终变成了 CSS2.1 )。
由于行业要求技术的快速发展,供应商必须在成熟之前尝试并实施标准。这些实现通常被认为是实验性的和非最终的,这使我们回到你所说的用于实验性功能的内容。
CSS3最终确定后,前缀会消失吗?
一旦模块及其实现完成,原来前缀就消失了(CSS3本身从未最终确定,因为它总是在增长)。目前,正在采取措施,几乎完全消除使用前缀来开发技术,因为它们被供应商和作者滥用,并导致无法预料但严重的互操作性问题;请参阅Chromium/Blink和this CSSWG blog post。
答案 1 :(得分:5)
这has been asked before,但简短的回答是CSS3不是成品。 CSS 2.1直到2011年才发布,只有少数CSS3模块甚至达到了正式推荐的水平,所以谈论普遍实施的CSS3规范还为时过早。值得庆幸的是,现代浏览器制造商正在帮助推动事情发展,并正在帮助制定遵循现实世界实践的标准。随着它们接近通用标准,前缀将被删除。