2016-07-25 101 views
0

少即是增加對URL不必要的代碼,所以我有這樣的事情:編譯爲CSS

@color1: rgba(0, 0, 0, 0); 
@color2: rgba(0, 0, 0, 0.7); 
#start-view .start1 { 
    .imageGradientOverlay(@color1, @color2, "../images/start/start1.jpg"); 
} 

變量是:

.imageGradientOverlay(@color1, @color2, @url-image) { 
    background-image: 
     linear-gradient(@color1, @color2), 
     url(@url-image); 

    background-image: 
     -webkit-linear-gradient(@color1, @color2), 
     url(@url-image); 
} 

和編譯後的代碼如下所示:

#start-view .start1 { 
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7)), url("../../../images/start/start1.jpg"); 
    background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7)), url("../../../images/start/start1.jpg"); 
} 

問題是 - 爲什麼編譯時少加兩個../../

如果我嘗試添加這個/images/start/start1.jpg代碼編譯得很好,但這不是我所需要的。

回答

1

看看LESS options,我相信你有rootpath設置爲添加該前綴。所以重置rootpath,它應該沒問題。

您可以在這裏測試 - LESS2CSS,只需添加該選項即可。

+0

是的,就是這個問題。我正在使用Visual Studio與Webessentials和compilerconfig.json默認文件有「relativeUrls」設置爲true導致此問題。 –