Возможно ли отменить (или повторно вставить) блок селектора в LESS? - PullRequest
0 голосов
/ 03 декабря 2018

Скажем, у меня есть МЕНЬШЕ стилевого оформления, например:

.some-context {
    .some-parent {
        .some-nav {
            a {
                color: blue;
                &.active { color: black; text-decoration: underline; }
            }
        }
    }
}

По сути, мы определенным образом стилизовали ссылки в одном конкретном глубоком контексте.

Но теперь у нас есть второй контекст, который нуждается в том же стиле ссылки.

Я знаю, что могу использовать &, чтобы повторить родительский селектор, но есть ли способ "сбросить" родительский селектор?Вместо того, чтобы повторно использовать / переупорядочивать родительский селектор, я хочу сбросить it.

(я использовал &:extend(), чтобы «украсть» стилизацию других частей страницы издругой контекст, но оказывается довольно хрупким - тихо ломается всякий раз, когда другой код / ​​вложенность когда-либо меняется. Поэтому я ищу альтернативы.)

Есть ли способ сделать что-то вроде:

// (deep within a nested context)
a, ⅋ .other-context a {
 // …
}

… где любой фактический синтаксис «is» означает «сбросить контекст и отбросить все родительские селекторы»?

1 Ответ

0 голосов
/ 03 декабря 2018

К сожалению, в настоящее время это невозможно (по состоянию на декабрь 2018 года), но есть открытый запрос функции github, который можно найти здесь .Однако, если вы рассмотрите возможность переключения на SASS, вы можете использовать директиву @at-root.

...