SASS mixins - default value for @content

2020-02-15 04:46发布

问题:

Is it possible to define a default value for @content just as one would do with arguments?

For instance something like:

@mixin foo {
    @content: width:100%;
}

回答1:

No, @content is not a variable. You cannot set a default value to it. You cannot manipulate or examine it.

If Alessandro's answer is unsuitable for your needs, you'll need to create an extra mixin to get the results you desire:

@mixin foo {
  color: red;
  @content;
}

@mixin empty-foo {
  @include foo {
    width: 100%;
  }
}

.foo {
  @include foo {
    border: 1px solid;
  }
}

.bar {
  @include empty-foo;
}


回答2:

try this:

@mixin foo($content: 100%) {
    width:$content;
}

or this:

    @mixin foo() {
        $content: 100%;
        width:$content;
    }


标签: sass