2013-04-15 107 views
1

好吧..我對LESS有點熟悉,當我試圖移動到SASS時。將LESS mixins翻譯成Sass

在不到我創造了一些框架是這樣的:

.w(@x){width:@x;} 
.h(@x){height:@x;} 
.f(@x,@y){font:@x '@y'} 

我保存它framework.less和@import它在我的main.less

我只是搜查,但我沒有找到如何做到這一點的SASS ..只需閱讀官方網站上的文檔,但沒有成功。 任何人都可以解釋我或向我發送教程鏈接嗎?我在谷歌上發現的所有鏈接都很難理解,即使是SASS的工作。

少」文檔是非常簡單的理解,但SASS是太複雜了..

+0

當你回來的工作在這項目在一年中,你會記住'f'代表什麼?如果項目被轉移給其他人,這對他們有意義嗎?這些簡單類型的mixin不會在Sass中爲您節省任何鍵盤操作,而且只會使代碼更難以閱讀。 – cimmanon

回答

3

那些被稱爲混入。你會寫出來就像這樣:

@mixin w($x){width:$x;} 
@mixin h($x){height:$x;} 
@mixin f($x,$y){font:$x $y} 

密新調用看起來是這樣的:

.foo { 
    @include f(1.5em, sans-serif); 
} 

但是,你f混入有多餘的參數:

@mixin f($x){font:$x} 

.foo { 
    @include f(1.5em sans-serif); 
} 
+0

感謝您的幫助!但是我必須一直使用@include嗎?例如:'#content {@include w(150px); h(200px);} footer {@include w(100%); H(200像素); f(10px arial);}'? –

+1

是的,'@ include'表示你正在調用一個mixin。如果您有興趣避免這種情況,您可能需要考慮使用舊的sass語法而不是scss。 – cimmanon

+0

你指示我什麼?如果scss更好,我會用它 –