Чи все-таки доведеться ЛЕШЕ застосовувати до виводу негайний селектор (>)?
У моєму стилі. Я не хочу написати щось на зразок:
.panel {
...
> .control {
...
}
}
і МЕНШЕ генерувати щось на кшталт:
.panel > .control { ... }
Чи все-таки доведеться ЛЕШЕ застосовувати до виводу негайний селектор (>)?
У моєму стилі. Я не хочу написати щось на зразок:
.panel {
...
> .control {
...
}
}
і МЕНШЕ генерувати щось на кшталт:
.panel > .control { ... }
Відповіді:
ОНОВЛЕННЯ
Насправді код в оригінальному питанні справно працює. Можна просто дотримуватися >
дитячого селектора.
Знайшов відповідь.
.panel {
...
>.control {
...
}
}
Зверніть увагу на відсутність місця між ">" і ".", Інакше це не працюватиме.
.panel >.control
.
div > p
і, і div>p
. Послідовність завжди використовує простір між селекторами (погляньте на створений CSS).
Офіційний спосіб:
.panel {
& > .control {
...
}
}
&
завжди посилається на поточний селектор.
Дивіться http://lesscss.org/features/#features-overview-feature-nested-rules
div > p
або div >p
? &
Комбінатор канонічний спосіб зробити це в LESS, що не мої почуття. Ваше пояснення є реторичним. Деякі люди записують свій CSS в одному рядку ...
Правильний синтаксис буде дотримуватися під час використання "&", тут буде зайвим.
.panel{
> .control{
}
}
Згідно з меншими вказівками , "&" використовується для параметризації предків (але такої потреби тут немає). У цьому прикладі менше , і: ширяння необхідно більш : парити в іншому випадку це призведе до синтаксичну помилку. Однак тут немає такої синтаксичної вимоги щодо використання "&". В іншому випадку всі гніздування потребують "&", оскільки вони по суті стосуються батьків.
Крім того, якщо ви орієнтуєтесь на перший дочірній елемент, наприклад перший <td>
з a <tr>
, ви можете використовувати щось подібне:
tr {
& > td:first-child {font-weight:bold;}
}
це допомагає зменшити оголошення класів, коли вони не потрібні.