Я хочу использовать & для присоединения псевдо: не к родительскому классу, но я не знаю, как это сделать при использовании миксинов и селекторов переменных.Менее переменные в селекторе с &
.hideElement(@selector, @maxWidth) {
@media (max-width: @maxWidth) {
@{selector} {
display: none;
}
}
}
.jp-sleek.jp-audio:not(.jp-state-no-volume-support) {
.hideElement(~':not(.jp-state-full-screen) .jp-title-container', 580px);
}
Выход я хочу это:
.jp-sleek.jp-audio:not(.jp-state-no-volume-support):not(.jp-state-full-screen) .jp-title-container {
display: none;
}
В настоящее время выход (обратите внимание на пространство в: нет):
.jp-sleek.jp-audio:not(.jp-state-no-volume-support) :not(.jp-state-full-screen) .jp-title-container {
display: none;
}
Я знаю, что нужно использовать селектор & но это не работает:
.hideElement(~&':not(.jp-state-full-screen) .jp-title-container', 580px);
Как это сделать?
Полный код для контекста:
.jp-sleek.jp-video,
.jp-sleek.jp-audio.jp-state-no-volume-support {
.hideElement(~'.jp-repeat', 400px);
.hideElement(~':not(.jp-state-full-screen) .jp-title-container', 530px);
.hideElement(~'.jp-download', 580px);
}
.jp-sleek.jp-audio:not(.jp-state-no-volume-support) {
.hideElement(~'.jp-full-screen', 400px);
.hideElement(~'.jp-repeat', 450px);
.hideElement(~':not(.jp-state-full-screen) .jp-title-container', 580px);
.hideElement(~'.jp-download', 630px);
}
Нет, ни один специальный оператор (например, '&' или запятая) не имеет специального значения в интерполяции. Вы можете сделать селектор привязанным условно через дополнительный параметр mixin, но в этом конкретном случае я предлагаю вам сделать все это вверх-вниз (путем добавления mixin в набор правил) - [как это ] (https://gist.github.com/seven-phases-max/9063dba4225b488d36760c1e13aa62f1). –