2014-09-18 120 views
0

我有簡單的計算混入:薩斯混入並不需要的價值,但變量名稱,而不是

@mixin calc($what, $how, $that) { 
    width: -webkit-calc($how- $that); 
    width: -moz-calc($how - $that); 
    width: calc($how- $that); 
    width: $how; 
} 

裏面我是用:

@include calc("width", 100%, 6px); 

但是編譯後我得到:

width: -webkit-calc($how- $that); 
    width: -moz-calc($how - $that); 
    width: calc($how- $that); 
    width: 100%; 

我做錯了什麼? 爲什麼只有最後一行是好的?

在此先感謝!

回答

2

您需要使用Sass variable interpolator

@mixin calc($what, $how, $that) { 
    width: -webkit-calc(#{$how}- #{$that}); 
    width: -moz-calc(#{$how}- #{$that}); 
    width: calc(#{$how}- #{$that}); 
    width: $how; 
} 

.sel { 
    @include calc("width", 100%, 6px); 
} 

產量

.sel { 
    width: -webkit-calc(100%- 6px); 
    width: -moz-calc(100%- 6px); 
    width: calc(100%- 6px); 
    width: 100%; 
} 
+0

要命的,謝謝你,你能告訴我如何使用$什麼參數嗎? (在mixin中使用它來代替「width」) – 2014-09-18 19:01:07

+1

同樣的方法 - 只需用'#{$ what}替換mixin中的'width'屬性' – dinocarl 2014-09-18 19:37:04