Css SASS中的嵌套mixin或函数

Css SASS中的嵌套mixin或函数,css,nested,sass,mixins,Css,Nested,Sass,Mixins,有些人知道如何在SASS中使用嵌套的mixin或函数? 我有这样的想法: @mixin A(){ do something.... } @mixin B($argu){ @include A(); } 是的,你已经做对了。您可以在第二个mixin中调用第一个mixin。选中此笔您可以使用多套混音器,也可以在混音器中使用占位符 @mixin a { color: red; } @mixin b { @include a(); padding: white; fo

有些人知道如何在SASS中使用嵌套的mixin或函数? 我有这样的想法:

@mixin A(){
    do something....
}

@mixin B($argu){
    @include A();
}

是的,你已经做对了。您可以在第二个mixin中调用第一个mixin。选中此笔

您可以使用多套混音器,也可以在混音器中使用占位符

@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;
}

作用域mixin意味着您可以在不同的作用域中拥有多个名称相同的mixin,而不会产生冲突。

是的,您做得对。您可以在第二个mixin中调用第一个mixin。哦,谢谢你!我试过了,但没用,也许我的红宝石坏了。我将尝试重新安装。非常感谢。(codepen太棒了!还不知道)@crazyrohila你应该把这个作为答案发布。很抱歉,我错误地删除了最后一支笔。因此创建了一支新笔。这里不清楚为什么运行此代码没有回答您的问题。必须注意的是,mixin的顺序很重要,即如果在上述代码的底部移动
@mixin a{…}
,sass会生成编译错误
未定义的mixin'a'
任何原因
b
不是
b()
in
@include b?@ajax333221 mixin不必有参数,如果不指定参数,则()是可选的。