我正在使用closure-stylesheets-20111202.jar来组合和缩小我的所有CSS。然而,它在Twitter的bootstrap.css上抛出了一个错误,对我来说很好看。
Compiler parsing error: Parse error in bootstrap.css at line 1404 column 95:
background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
有什么想法?我知道我可以将他们已经缩小的版本连接到我的,但是想知道是否有人有适当的解决方案。
答案 0 :(得分:3)
这是Closure Stylesheets中的一个错误。我正在修复。
基本上,GssParserCC.jj
需要在第59行更改:
private static final Pattern FUNCTIONS_WITH_SPACE_SEP_OK = Pattern.compile(
"(?:-(?:O|MOZ|WEBKIT|MS)-)?(?:REPEATING-)?(?:LINEAR|RADIAL)-GRADIENT"
+ "|RECT|-WEBKIT-GRADIENT|-KHTML-GRADIENT",
Pattern.CASE_INSENSITIVE);
和CssFunctionNode.java
需要在其列表中添加-khtml-gradient
。
然而,这并不能解决所有问题,因为Closure Stylesheets尚未识别以下内容:
border-radius: 0 \0;
特别是,这就是抛弃它的斜线。
即使我用以下内容替换该行:
border-radius: 0;
然后我得到各种各样的96个错误。
--allow-unrecognized-functions
将该数字降至85。
剩下的85看起来是这样的形式:
Detected multiple identical, non-alternate declarations in the same ruleset. If this is intentional please use the /* @alternate */ annotation. background-image:[-o-linear-gradient(top,#5bc0de,#339bb9)] in bootstrap.css at line 1872 column 1:
目前没有任何标志可以禁止此类警告。
此对话可能最适合http://code.google.com/p/closure-stylesheets/issues/list