2013-04-15 42 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更好,我会用它 –