2012-03-02 49 views
1

媒體查詢我有一個mixin,像這樣:表達式中混入

.media-query (@n) { 
     @media all and (max-width: (@n + 1) * (@video-box-width + 2) + (@n+2) * @video-box-margin + (@sidebar-width + 20px) + @margins * 2){ 
      #container_inner { 
       width: @n * (@video-box-width + 2) + (@n+1) * @video-box-margin + (@sidebar-width + 20px); 
      } 
     } 
    } 

不過,我得到是因爲最大寬度後exression的解析錯誤。它只在一個變量之後有效,如max-width:@variable。我試着在mixin的頂部設置一個變量,但因爲變量實際上是常量,它不會隨着@n的不同值而改變。

編輯: 我想多次調用它像這樣

.media-query(3); 
.media-query(2); 
.media-query(1); 

有了這個,我得到的是與瀏覽器重新調整佈局,但只對某些組預定義的寬度。

回答

2

編輯,3月13日:LESS版本1.3現在可用並解決此問題,請參閱changelog。再試一次,並驚訝:)

編輯,3月2日:未得到問題的權利,實際的答案應該是:

這是一個已知的bug,並且已經有severalopenissues在由GitHub這表明LESS目前僅提供對@media查詢的有限支持。對不起,我們必須等待,直到得到修復或想出一個聰明的解決方法:-∫

+0

問題是,一旦@ max-width被定義爲@n的一個值,它不能重新定義(因爲更少的變量實際上是常量)。看到我上面的編輯。它會給我一個響應式佈局,再次看到上面。 – ddlshack 2012-03-02 16:30:45

+0

對不起,我現在明白了。編輯答案,底線是:這是一個已知的錯誤。 – 2012-03-04 18:57:15