2014-09-25 36 views
0

對不起這個不是非常具有描述性的問題,但我不確定還有什麼要說的,它確實瘋了。Sass/Compass在編譯時沒有做數學運算

在我的機器我已經安裝了咕嚕-的contrib指南針,我的package.json中有這條線......

「咕嚕-的contrib羅盤」: 「1.0.1」,

我的咕嚕聲文件正在正常運行,正在編譯我的SASS,除了沒有數學工作。當我承諾Github和我的同事編譯它時,儘管他的設置和我一樣,但數學運作良好。通過npm install安裝相同的grunt文件和相同的npm包。

要測試什麼是工作和什麼不工作,我在我的SASS中設置了以下部分。我已經評論了我想要工作的行,其他人只是測試用例。

$hSpace: (20px, 24px, 30px, 30px, 40px, 60px); 

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3)/2; <---- This one 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

這是我運行grunt時的輸出。

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 30px/2;  <---- Produces this 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

這就是我的同事跑動時的樣子。

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 15px;  <---- When it should produce this 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

我們的設置看起來相同,所以我真的不明白爲什麼我的編譯器不工作。

真的很感激任何想法,即使他們只是猜測。

+0

你們是否都運行相同版本的Sass?以前我遇到過Sass版本與指南針版本不兼容的問題。這引發了奇怪的錯誤。 – DavidT 2014-09-25 16:06:36

+0

無法在http://sassmeister.com/上使用LibSass或Sass(3.4,3.3或3.2)進行重現。可能相關:http://stackoverflow.com/questions/24552869/sass-do-math-operations-with-variables-containing-px – cimmanon 2014-09-25 16:08:22

+0

此外,你真的需要找出一個適當的標題在這裏。 – cimmanon 2014-09-25 16:09:57

回答

1

我可以使用我在上面評論中指出的版本號來重現此錯誤。雖然我建議你按照我在評論中提出的建議檢查你的版本號,但你可以通過將/2更改爲* 0.5來解決這個問題,這對我來說意味着你使用的軟件包版本與你的同事不一樣,不支持/在分割代碼的語法中有一個錯誤。 $ 30Space,30px,30px,40px,60px);

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3)/2; 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

編譯成

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 30px/2; 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 

} 

同時

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3) * 0.5; 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

編譯成

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 15px; 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

這就是你的同事了。