2013-01-14 187 views
2

我将重新构建网站,并将使用-prefix-free脚本来消除CSS中的前缀。不过,有些CSS我不会编辑。这个CSS确实包含一些前缀。如果我将这些前缀留在CSS中,那么-prefix-free仍然可以正常工作,或者有理由让我通过CSS文件并删除所有前缀?CSS中的前缀无前缀脚本和前缀

换句话说:会在CSS break中添加前缀还是导致与-prefix-free脚本一起使用奇怪的功能?

回答

3

-prefix-free会在您的样式表中留下任何已经在前缀中加入前缀的属性。实际上,如果您为其指定至少一个单独的前缀,它将为而不是添加其他前缀为相同的属性或规则。

举例来说,如果你有

-webkit-border-radius: 10px; 

然后-prefix,自由意志超过4.0之前的Firefox版本中添加-moz-border-radius,也不会对任何浏览器中添加前缀的border-radius。 WebKit浏览器将像往常一样应用边界半径,因为他们理解-webkit-border-radius

如果你想添加前缀为其他浏览器免费-prefix-,你将需要改变,要

border-radius: 10px; 

所以,这取决于你希望它适用所有必要的前缀的属性。如果您希望-prefix-free在所需的任何地方应用前缀,您需要浏览样式表并删除已存在的任何前缀。

当然,请记住,您可能希望保留某些属性的硬编码前缀,例如WebKit特定的伪元素-webkit-appearance-webkit-text-size-adjust。同样,这取决于财产;您可能需要根据您的布局需求进行研究和决定。

该脚本的主页包含一个test drive,您可以使用它来预览带前缀和前缀属性的结果。请记住,结果是针对您用来运行测试驱动器的浏览器而定制的,因此如果您添加border-radius并在Firefox 4或更高版本中运行它,则不会看到任何更改。但是,如果您放置-webkit-border-radius声明,您仍然会看到-prefix-free在预览窗格中保持不变,即使添加了前缀无关的属性,无论您使用的是哪种浏览器。

+0

这是我需要知道的信息,谢谢! – L84

0

-prefixes仅用于支持浏览器中存在的功能,但尚未标准化或尚未完成实施。

由于很多规范已经标准化,因此不再需要某些属性的前缀,并且自许多版本以来一直存在。例如:border-radius

你可以看看here,看看哪些属性仍然需要前缀。

使用CSS时不会产生任何影响,前缀为某些元素,而前者为其他元素的前缀。