13

ここで(うまくいけば)簡単な質問をします。ミックスインの存在をテストできますか?例えば

@if thumbnail-mixin {} @else { //define mixin }.

理想的にはを使用します@unlessが、それはフォークにのみ存在します。ミックスインを上書きできることは承知していますが、すべての場合にN個の変数を指定するのではなく、デフォルトのミックスインを使用できるかどうかを検討しています。

4

2 に答える 2

27

Sassの最新バージョン(v3.3.0)には、次のmixin-exists機能があります。

.foo {
  @if mixin-exists(mymixin) {
    exists: true;
  }
  @else {
    exists: false;
  }
}

Sass v3.3は、他の存在テストも追加します。

variable-exists($name)
global-variable-exists($name)
function-exists($name)

Sassv3.3の詳細。

于 2013-12-23T04:43:55.257 に答える
8

Sassには現在、ミックスインが存在するかどうかを判断するためのネイティブ機能がありません。

https://github.com/nex3/sass/issues/561#issuecomment-14430978

Rubyで書かれたSass関数を作成できます。

def mixin_exists(mixin_name)
    if(environment.mixin(mixin_name.value))
      Sass::Script::Bool.new(true)
    else
      Sass::Script::Bool.new(false)
    end
end

または、この関数が含まれているsass-utilitiesCompass拡張機能を使用することもできます。

于 2013-05-31T14:35:18.107 に答える