我们是否还需要使用非标准/浏览器专属的CSS厂商前缀?

4

考虑到我并不太在意向后兼容性(我正在探究基于CSS3和HTML5的设计,而不是依赖于图形等),那么像以下这样使用CSS的好处是什么:

-moz-box-shadow:    3px 3px 5px 6px #ccc;
-webkit-box-shadow: 3px 3px 5px 6px #ccc;

不仅仅使用:只是

box-shadow: 3px 3px 5px 6px #ccc;

后者在大多数现代浏览器中似乎可以正常工作(除了显而易见的! :p 我看着你,IE!虽然我假设它可能在IE9中工作,但我不能测试,因为我目前在使用Mac)。

我是不是看错了?我们需要使用上面的特定于浏览器的代码吗?还是所有浏览器都正在向支持标准的方向发展?


可能是 https://dev59.com/8mDVa4cB1Zd3GeqPbTxF 的重复问题。http://stackoverflow.com/questions/7261208/are-vendor-specific-style-prefixes-needed-any-more-on-most-common-css3-propertie 和 https://dev59.com/-Wsz5IYBdhLWcg3wpZdF 也有相关讨论。 - BoltClock
我喜欢你完全避免使用“供应商前缀”的术语,而称之为非标准的CSS,因为供应商前缀就是非标准的CSS :) 另外,是的,IE9支持无前缀的box-shadow属性。 - BoltClock
1
@boltclock - 哈哈!我不知道它们被称为这个!我想不出该怎么称呼它,也许这就是为什么我在互联网上找不到任何信息的原因。 :p 感谢提供链接。 - Thomas Clayson
3个回答

7

这取决于您想要完全支持哪些功能和哪些浏览器。即使现在,一些浏览器也存在滞后的情况。

这里有一个非常好的指南:http://caniuse.com/


1
哇,酷网站!可惜搜索功能不太好用啊!哈哈,我刚试了一下,得按大约80次返回才能回到这篇文章! - Thomas Clayson

3

所有浏览器通常朝向标准支持。

问题有两个

  1. 我们可以使用的很多CSS3规则仍在审核中,即尚未成为任何标准的一部分。
  2. 有些人仍然坚持使用较旧版本的浏览器,这些浏览器可能不支持非前缀规则。

由于这两个原因,我们继续在样式表中使用供应商前缀的CSS规则。


嗯,说得有道理。但是如果您不介意不支持旧版浏览器,就没有理由将它们排除在外了吧?在我工作的地方,一般人要么不支持任何东西(ie6/ie7),要么就是前沿技术。我们总是优雅地降级。 :) 我只是试图在能够的地方减少http请求和图片等内容。 :) - Thomas Clayson

0

现在您唯一需要的前缀是 -webkit,以支持 Chrome 和 Safari。 -webkit 是 -webkit-animation、-webkit-font-feature-settings、display: -webkit-flex、-webkit-filter 等所必需的。

-ms、-o 和 -moz 提供对那些即使它们自己的公司也停止支持的浏览器的支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接