2014-12-03 33 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,省略最終分號完全有效。