从mixin中删除/删除属性

时间:2011-09-26 17:39:16

标签: sass attributes mixins

以下.scss代码:

@mixin div-base {
  width: 100px;
  color: red;
}

#data {
  @include div-base;
}

将产生:

#data {
  width: 100px;
  color: red; }

我想做点什么:

#data {
  @include div-base;
  remove or delete: width right here
}

生产:

#data {
  color: red;
}

甚至可以沿着这些方向做点什么吗?

2 个答案:

答案 0 :(得分:3)

执行此操作的最佳方法是在mixin上使用arguments

@mixin div-base($width: 100px, $color: red) {
  @if $width != false { width: $width; }
  @if $color != false { color: $color; }
}

#data {
  @include div-base($color: false);
}

答案 1 :(得分:2)

您可以通过将宽度设置为默认值(将其设置为auto)来实现相同的效果:

@mixin div-base {
  width: 100px;
  color: red;
}

#data {
  @include div-base;
  width: auto;
}