2014-12-03 57 views
0

我正在使用Compass编译Sass Zen主题。我得到了这样的警告:为什么Sass会使用分号?

Compass has changed how browser support is configured. The following configuration   variables are no longer supported: $legacy-support-for-ie6, $legacy-support-for-ie7, $legacy-support-for-ie8 

我安装了旧版本的

compass (0.12.7) 
sass (3.2.19) 
breakpoint (1.3) 

我不再得到警告,但是,我失去分号在编译的代码。例如:

/* Address paddings set differently in IE 6/7. */ 
menu, 
ol, 
ul { 
padding: 0 0 0 $indent-amount; /* LTR */ 
} 

@if $legacy-support-for-ie7 { 
/* Correct list images handled incorrectly in IE 7. */ 
nav ul, 
nav ol { 
list-style: none; 
list-style-image: none; 
} 

编译到

menu, 
ol, 
ul { 
padding: 0 0 0 30px 
/* LTR */ 
} 

通知缺少的分号。看起来好像到处都有一个@if $legacy-support-for-ie指南针然后剥去前面的分号。 在我的文件中有51个@if $ legacy-support-for-ie的声明,如果可能的话,我宁愿留下它们。

回答

0

我在使用最新版本的指南针时遇到了问题,当一个网站被设置为使用罗盘的1.0版本时。尝试使用Compass 0.12.7,然后从那里重建您的依赖关系。 https://rubygems.org/gems/compass/versions/0.12.7

+0

这与分号被剥离有什么关系? – cimmanon 2014-12-03 17:46:39

+0

是的,我用罗盘0.12.7构建了一个新的gemset,它填充了所有的依赖关系。谢谢! – icicleking 2014-12-03 20:51:24

+0

@cimmanon这不是一个解释,而是一种解决指南针在更新宝石时所做的事情的方法。我在新版本的罗盘上遇到了问题,其中一个项目从旧项目开始,如果您恢复旧项目,它可以解决这样的古怪问题。我认为你是其他答案是了解答案的基本原理的好答案。 – Corey 2014-12-03 22:19:12

1

$legacy-support-for-ie与最后一个丢弃的分号无关。这是Compass的特别之处。

Sass不关心你的代码是如何被格式化的,只要它是有效的。生成CSS时,它会遵循由所选输出样式规定的样式规则,例如空格,缩进,标点符号等。您只能指定不同的输出样式,而不能更改任何给定样式的细节。

请注意,根据CSS,省略最终分号完全有效。