【问题标题】:Delete / remove an attribute from a mixin从 mixin 中删除/移除属性
【发布时间】:2011-09-26 17:39:16
【问题描述】:

以下 .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;
}

有没有可能按照这些思路做点什么?

【问题讨论】:

  • 拥有一个最低限度的基类并将其扩展为div-base

标签: sass attributes mixins


【解决方案1】:

最好的方法是在你的 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);
}

【讨论】:

    【解决方案2】:

    你可以通过将宽度设置回默认值来达到同样的效果(设置为auto):

    @mixin div-base {
      width: 100px;
      color: red;
    }
    
    #data {
      @include div-base;
      width: auto;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多