Selektor CSS, który nie jest elementem podrzędnym typu elementu?


81

Chcę stylizować codeelementy, które nie są wewnątrz atagów.

Jakie jest najlepsze podejście, aby to osiągnąć?

code:not(a code)w ogóle nie działa, przynajmniej w Chrome, mimo że wydaje się, że powinno

Nie mogę go też uruchomić z konsoli.

Czy są jakieś inne podejścia tylko do CSS, których mógłbym użyć w tym celu?

Odpowiedzi:


121

:not nie obsługuje selektorów typu kombinator.

Jeśli mówimy o jego bezpośrednim rodzicu:

:not(a) > code

W przeciwnym razie nie da się tego zrobić w CSS. Będziesz musiał to zmienić:

code {
    /* some styles */
}

a code {
    /* override previous styles */
}

problem polega na tym, że nie chciałem używać selektora gwiazd
bevacqua

9
Z ciekawości: nie mam pojęcia dlaczego, ale :not(a) > codedziałałem, a :not(a) codenie miałem pojęcia, dlaczego? (nadal chrome)
bevacqua

36
@Nico - Ponieważ :not(a) codeszuka przodka, który nie jest a, co zawsze jest prawdą. :not(a) > codepatrzy tylko na bezpośredniego rodzica.
Joseph Silber

Jackpot, powinienem był o tym pomyśleć.
bevacqua
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.