2013-01-16 3 views
19

Przykładowy scenariusz: Chciałbym ukryć menu podrzędne, jeśli użytkownik ma włączony javascript, dzięki czemu można go odsłonić po kliknięciu łącza nawigacyjnego w hierarchii nawigacji. Modernizr dodaje klasę "js" do znacznika html, jeśli włączony jest javascript, więc mogę go użyć do wykrywania.Sprawdź, czy element nadrzędny ma klasę, używając LESS

W SASS mogę zrobić coś takiego:

div.subnav{ 

    display: block; 

    html.js & { 
     display: none; 
    } 

} 

można to zrobić za pomocą mniej? Czy mogę kierować na rodzica z innej reguły?

+5

Czy spróbować? – cimmanon

Odpowiedz

43

Czy można to zrobić za pomocą LESS?

Tak.

Podany kod działa w LESS. The & combinator works the same.

W końcu, selektory generowane dla:

div.subnav { 
    ... 
    html.js & { 
     ... 
    } 
} 

będą:

div.subnav { 
    ... 
} 

html.js div.subnav { 
    ... 
} 
+6

To jedna z największych rzeczy, jakie kiedykolwiek widziałem. –

+0

aw człowieku, po drugie. Mieć przegraną OP;) – Nige