2012-09-21 28 views
3

我得到一個語法錯誤此混入:添加供應商前綴以較少混入

.vendors(@statement){ 
    @statement; 
    [email protected]; 
    [email protected]; 
} 

沒有辦法做到這一點,或者說混入變量必須在:右側?

+2

對於LES(這個答案)(http://stackoverflow.com/questions/14920935/less-css-escape-entire-css-rule-with-different-prefixes/14943680#14943680) S前綴說明了爲什麼你可能不想這樣做,以及LESS中的模式匹配如何有利於前綴。 – ScottS

回答

1

這是一個蹩腳的答案,但我不認爲這是可能的。

+1

看起來不像。 –

+0

這是一個很好的問題,因爲在SASS中可能會出現這種情況,我試圖用較少的屁股進行模擬,而且我還找不到任何解決方案。因爲我和任何知道問題來自哪裏的人一樣跛腳。 – formigarafa

0

有沒有辦法做到這一點,但有解決方法。如果它工作,我認爲它會是這樣的:

.vendors(@prop, @val){ 
    ~"[email protected]{prop}:@{val}"; 
} 

注意:這不起作用。

這裏就這個話題很長時間的討論:https://github.com/cloudhead/less.js/pull/698

您可能能夠利用這個庫:less-properties

+0

它沒有,測試在http://less2css.org/ – gustavohenke

+0

正確。 「如果它確實工作...」 –

+0

我只是確保它會工作:) – gustavohenke

5

因爲較少V2可以使用autoprefix plugin前綴的屬性,這似乎是一個更好的選擇。 autoprefix插件添加了瀏覽器前綴,利用了autoprefixer postprocessor。對於客戶端編譯(在瀏覽器中),您可以使用-prefixfree

正如已經提到@ScottS你here可以使用,因爲少V1.6在選擇的變量插值,使您能夠做到:

.prefix(@property, @value) 
{ 
    [email protected]{property}:@value; 
    @{property}:@value; 
} 
selector { 
    .prefix(property,value); 
} 

輸出:

selector { 
    -webkit-property: value; 
    property: value; 
} 

你也應該閱讀:Am I overcomplicating my LESS for vendor prefixes?