我可以在移动网站上省略非供应商前缀的CSS属性吗?

时间:2014-09-29 14:20:20

标签: css css3 webkit

对于移动网站,我是否真的需要指定两个前缀和非前缀CSS属性名称?

例如:

-webkit-background-size:1em; /* absolutely mandatory */
background-size:1em;         /* a useless redundancy */

是否有任何移动浏览器会忽略-webkit属性而只考虑未加前缀的浏览器?我想摆脱所有非前缀属性来缩短和清除CSS代码。

PS:使用Android 4.1销售的第三世界国家的大多数手机甚至不解析非前缀属性,它们仍然需要-webkit前缀。删除未加前缀的另一个原因。

2 个答案:

答案 0 :(得分:1)

这种情况下的冗余并非无用。不支持标准background-size但支持-webkit-background-size的旧版移动浏览器仍会呈现。较新版本的浏览器可能会弃用-webkit前缀属性,但会同时支持前缀属性值-webkit-background-size和非前缀标准化属性background-size。在这种情况下,指定的最后一个值将是使用的值,因此移动浏览器将忽略-webkit前缀属性以支持标准化属性。

请注意,未来的浏览器可能会删除已弃用的值。在这种情况下,将不再支持带前缀的属性,并且网站的样式将会中断。为了确保当前和未来的功能,现在使用这两个版本是个好主意。如果您不再需要支持旧版本的浏览器,则应删除 前缀版本 ,以支持非前缀标准化版本。非前缀属性是CSS标准,不应该删除有利于供应商特定的前缀属性。

答案 1 :(得分:1)

我不知道在所有移动浏览器(有很多移动浏览器)中跟踪CSS属性支持的任何资源,因此很难确定是否有任何浏览器不再支持前缀版本。

我会注意到,特别是关于background-size,看起来对非前缀版本的支持非常快,并且没有很多浏览器需要前缀:http://caniuse.com/#search=background-size

目前的想法是,在将来的某个时候,将删除对属性的前缀版本的支持。例如,请参阅2013年5月发布的此WebKit邮件列表帖子:

  

我们会在一段时间内继续支持前缀属性,具体情况视具体情况而定。

     

https://lists.webkit.org/pipermail/webkit-dev/2013-May/024850.html

这可能需要很长时间才会发生,或者可能永远不会发生。但随着时间的推移,它发生的可能性会增加,而且仍在使用需要前缀版本的浏览器的人数会减少。

鉴于通过删除*非*前缀版本,您将只删除一行,在我看来,在短期或清晰度方面似乎没有大的收获来换取潜在的未来破损。

我建议您最初编写CSS 而不用前缀版本,然后查看您网站的浏览器统计信息,以查看您真正需要的前缀版本。对于某些带前缀的功能(例如渐变),也许较旧的浏览器可以在没有它们的情况下生存。