web-dev-qa-db-ja.com

SASS:セレクターではありません

SASS mixinに:not cssセレクターがありますが、何もしません:

コードスニペット:

@mixin dropdown-pos($pos:right) {
  &:not(.notip) {
    @if $comp-tip == true{
      @if $pos == right {
        top:$dropdown-width * -0.6;
        @include tip($pos:$pos);
      }
    }
  }
  &.notip {
    @if $pos == right {
      top: 0;
      left:$dropdown-width * 0.8;
    }
  }
}

.notipクラスは生成されていますが、:not(.notip)のCSSは生成されていません。

47
user2667409

これを再作成してみましたが、.someclass.notipが生成されていましたが、.someclass:not(.notip)が定義されていない限り、@mixin tip()は生成されませんでした。それができたら、すべてうまくいきました。

http://sassmeister.com/Gist/9775949

$dropdown-width: 100px;
$comp-tip: true;

@mixin tip($pos:right) {

}

@mixin dropdown-pos($pos:right) {
  &:not(.notip) {
    @if $comp-tip == true{
      @if $pos == right {
        top:$dropdown-width * -0.6;
        background-color: #f00;
        @include tip($pos:$pos);
      }
    }
  }
  &.notip {
    @if $pos == right {
      top: 0;
      left:$dropdown-width * 0.8;
      background-color: #00f;
    }
  }
}

.someclass { @include dropdown-pos(); }

EDIT:http://sassmeister.com/ は、エラーメッセージが表示されるため、SASSをデバッグするのに適した場所です。 Undefined mixin 'tip'.削除すると@mixin tip($pos:right) { }

62
Ming