Czy w ogóle ma LESS zastosować bezpośredni selektor potomny (>) w swoim wyjściu?
W moim stylu, bez, chcę napisać coś takiego:
.panel {
...
> .control {
...
}
}
i mają MNIEJ generować coś takiego:
.panel > .control { ... }
css
css-selectors
less
Dave
źródło
źródło
Odpowiedzi:
AKTUALIZACJA
W rzeczywistości kod z pierwotnego pytania działa dobrze. Możesz po prostu trzymać się
>
selektora podrzędnego.Znalazłem odpowiedź.
Zwróć uwagę na brak spacji między „>” i „.”, W przeciwnym razie nie zadziała.
źródło
.panel >.control
.div > p
idiv>p
. Spójność polegałaby zawsze na użyciu spacji między selektorami (spójrz na wygenerowany CSS).Oficjalny sposób:
&
zawsze odnosi się do bieżącego selektora.Zobacz http://lesscss.org/features/#features-overview-feature-nested-rules
źródło
div > p
czydiv >p
?&
Syntezatora jest kanoniczny sposób to zrobić w mniej, nie moje uczucia. Twoje wyjaśnienie jest retoryczne. Niektórzy piszą swoje CSS w jednej linii ...Prawidłowa składnia byłaby następująca, podczas gdy użycie „&” byłoby tutaj zbędne.
Zgodnie z mniejszymi wytycznymi „&” służy do parametryzacji przodków (ale nie ma takiej potrzeby). W tym mniej przykład , i: hover jest niezbędna przez : hover inaczej byłoby to spowodować składniowej błędu. Jednak nie ma takiego wymogu składniowego przy użyciu znaku „&” w tym miejscu. W przeciwnym razie wszystkie zagnieżdżenia wymagałyby znaku „&”, ponieważ zasadniczo odnoszą się do rodzica.
źródło
Jeśli chcesz skierować reklamy do większej liczby selektorów:
źródło
Ponadto, jeśli celujesz w pierwszy element podrzędny, taki jak pierwszy element
<td>
a<tr>
, możesz użyć czegoś takiego:pomaga to zredukować deklaracje klas, gdy nie są potrzebne.
źródło