SASS mixins - default value for @content

2020-02-15 04:33发布

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

标签: sass
2条回答
Viruses.
2楼-- · 2020-02-15 05:20

try this:

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

or this:

    @mixin foo() {
        $content: 100%;
        width:$content;
    }
查看更多
姐就是有狂的资本
3楼-- · 2020-02-15 05:21

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;
}
查看更多
登录 后发表回答