2012-08-01 82 views
3

我試圖爲我的字體大小和行高創建一個LESS mixin,但此刻嘗試運行時出現錯誤。任何人都可以建議我可能出錯的地方:LESS mixin建議

.font(@size: 1.6, @line: @size * 1.5){ 
    @fontSizeRem: @size; 
    @fontSizePx: (@size * 10); 
    @lineHeightRem: @line; 
    @lineHeightPx: (@line * 10); 
    font-size: ~"@{fontSizePx}px"; 
    font-size: ~"@{fontSizeRem}rem"; 
    line-height: ~"@{lineHeightPx}px"; 
    line-height: ~"@{lineHeightRem}rem"; 
} 

h1{ 
.font(1.6); 
} 

回答

4

LESS不支持取決於其他參數的參數。爲了實現一個可選的第二個參數,你可以添加其他的mixin:

.font(@size:1.6) { 
    .font(@size, @size * 1.5) 
} 
.font(@size, @line) { 
    /* ... See question for the remainder ... */ 

編譯爲:

h1 { 
    font-size: 16px; 
    font-size: 1.6rem; 
    line-height: 24.000000000000004px; 
    line-height: 2.4000000000000004rem; 
}