МЕНЬШЕ CSS - не изобретать велосипед

Под «колесом» я подразумеваю вложенный путь выбора.

Я преобразовал довольно большой файл CSS в МЕНЬШЕ, по большей части, правила вложения в порядке DOM. Однако некоторые из моих стилей переопределяются. По сути, все «простые» стили были вложенными, что делало их правила вывода CSS чрезвычайно специфичными (что я и хочу). Что не так уж и конкретно, так это правила, в которых к родительским элементам прикреплены классы. Пример:

Обычные вложенные правила:

      .grandparent {
  some: style;

  .parent {
     other: style;

     .child {
       you: get;

       .grandchild {
          the: picture;
       } 
     }
   }
}

Итак, проблема, с которой я столкнулся, - это добавление стилей к внуку, если у бабушки и дедушки есть определенный класс. Что-то вроде:

      .grandparent.visiting .grandchild {
  visibility: hidden;
}

Есть ли способ аккуратно добавить .visiting к большой иерархии, которую я уже построил? Или мне нужно переделать весь порядок вложения для всех селекторов дочерних элементов, на которые влияет .grandparent.visiting?

Не уверен, что это новичок. Я только начал с LESS пару выходных назад. Но я не могу найти никаких решений с использованием:not, и селектор & (каким бы превосходным он ни был), похоже, здесь тоже не помогает.

1 ответ

Вы можете сослаться на текущий селектор, используя символ &, а затем написать селекторы после него, как это было в одной строке.

      .grandparent {
  some: style;

  &.visiting {
    .grandchild{ 
        visibility: hidden;
    }
  }
}
Другие вопросы по тегам