Непосредственный Дочерний селектор в LESS

есть ли в любом случае меньше применять непосредственный дочерний селектор ( > ) в его выходе?

в моем стиле.меньше, я хочу написать что-то вроде:

.panel {
    ...
    > .control {
        ...
    }
}

и меньше генерировать что-то вроде:

.panel > .control { ... }

4 ответов


обновление

На самом деле код в исходном вопросе работает нормально. Вы можете просто придерживаться > селектор ребенка.


нашел ответ.

.panel {
    ...
    >.control {
        ...
    }
}

обратите внимание на отсутствие пробела между ">" и ".- иначе ничего не получится.


официальный путь:

.panel {
  & > .control {
    ...
  }
}

& всегда относится к текущему селектору.

см.http://lesscss.org/features/#features-overview-feature-nested-rules


правильный синтаксис будет следовать при использовании ' & ' будет избыточным здесь.

.panel{
   > .control{
   }
}

по данным меньше руководящие принципы, ' & ' используется для параметризации предков (но здесь нет такой необходимости). В Это меньше пример, &:hover важно за :hover в противном случае это приведет к синтаксической ошибке. Однако здесь нет такого синтаксического требования для использования'&'. В противном случае для всех вложений потребуется ' & ' as они, по сути, относятся к родителю.


кроме того, если вы нацелены на первый дочерний элемент, такой как first <td> на <tr>, вы могли бы использовать что-то вроде этого:

tr {
    & > td:first-child {font-weight:bold;}
}

это помогает уменьшить объявления классов, когда они не нужны.