Префикс селектора как родительский и пересечение - PullRequest
0 голосов
/ 26 сентября 2019

Я знаю, что заголовок не очень описательный, поэтому я собираюсь показать пример поведения, которое мне нужно:

Ввод

@mixin superScopeMixin {
  /* ... */
}

.one {
  superScopeMixin {
    .two {
      .three {
        /* ... */
      }
    }
  }
}

Вывод

.one.two .three,
.one .two .three {
  /* ... */
}

Я хочу, чтобы перед селектором был добавлен префикс "с пробелом" и "без пробела".Это возможно?Я могу использовать Less, Sass или Stylus.Спасибо!

1 Ответ

0 голосов
/ 26 сентября 2019

Если я правильно понимаю ваш вопрос, вы можете настроить свой миксин следующим образом:

@mixin superScopeMixin {
  &.two, .two {
    color: #fff;
    .three {
      color: purple;
    }
  }
}

.one {
  color: gray;
  @include superScopeMixin
}

, который компилируется в:

.one {
  color: gray;
}
.one.two, .one .two {
  color: #fff;
}
.one.two .three, .one .two .three {
  color: purple;
}
...