有些人知道如何在 SASS 中使用嵌套的 mixins 或函数?我有这样的事情:
@mixin A(){
do something....
}
@mixin B($argu){
@include A();
}
是的,你已经做对了。您可以在第二个中调用第一个 mixin。检查这支笔http://codepen.io/crazyrohila/pen/mvqHo
你可以多嵌套混合,你也可以在混合中使用占位符..
@mixin a {
color: red;
}
@mixin b {
@include a();
padding: white;
font-size: 10px;
}
@mixin c{
@include b;
padding:5;
}
div {
@include c();
}
这给出了 CSS
div {
color: red;
padding: white;
font-size: 10px;
padding: 5;
}
如其他答案中所述,您可以在其他混入中包含混入。此外,您可以确定 mixin 的范围。
例子
.menu {
user-select: none;
.theme-dark & {
color: #fff;
background-color: #333;
// Scoped mixin
// Can only be seen in current block and descendants,
// i.e., referencing it from outside current block
// will result in an error.
@mixin __item() {
height: 48px;
}
&__item {
@include __item();
&_type_inverted {
@include __item();
color: #333;
background-color: #fff;
}
}
}
}
将输出:
.menu {
user-select: none;
}
.theme-dark .menu {
color: #fff;
background-color: #333;
}
.theme-dark .menu__item {
height: 48px;
}
.theme-dark .menu__item_type_inverted {
height: 48px;
color: #333;
background-color: #fff;
}
范围混入意味着您可以在不同的范围内拥有多个名称相同的混入,而不会产生冲突。