Mam dość duży problem, ponieważ muszę wykluczyć ze stylizacji niektórych typów danych wejściowych. Miałem coś takiego:
.registration_form_right input:not([type="radio")
{
//Nah.
}
Ale nie chcę też stylizować pól wyboru.
Próbowałem:
.registration_form_right input:not([type="radio" && type="checkbox"])
.registration_form_right input:not([type="radio" && "checkbox"])
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"])
Jak używać &&
? Będę musiał użyć ||
wkrótce i myślę, że użycie będzie takie samo.
Aktualizacja:
nadal nie wiem, jak używać ||
i &&
poprawnie. Nie mogłem znaleźć niczego w dokumentach W3.
Odpowiedzi:
&&
działa poprzez łączenie wielu selektorów w ten sposób:Inny przykład:
||
działa poprzez oddzielenie wielu selektorów przecinkami w ten sam sposób:źródło
not
wydaje się działać od IE9 wzwyż (dzięki wykresowi dostarczonemu przez @geofflee).AND (
&&
):LUB (
||
):źródło
||
). Zaktualizowano w celu wyjaśnienia.||
przykładu. Oczywiście staje się to.registration_form_right input
po uproszczeniu, ale istotą jest to, że używasz,
as||
. Możesz użyćinput:not([type="radio"]), input:not([name="foo"])
nietrywialnego przykładu.Aby wybrać właściwości
a
Ib
zX
elementu:Aby wybrać właściwości
a
lubb
zX
elementem:źródło
:not
Pseudo-klasa nie jest obsługiwane przez IE. Zamiast tego dostałem coś takiego:Trochę tam duplikatów, ale jest to niewielka cena za wyższą kompatybilność.
źródło
Możesz w jakiś sposób odtworzyć zachowanie „LUB” używając & i: nie.
źródło
Chyba nie lubisz pisać więcej selektorów i dzielić je przecinkami?
a przy okazji to
wygląda mi bardziej na „wejście, które nie ma obu tych typów” :)
źródło
radio
(ale byłoby wybraćcheckbox
), a drugi zrobi odwrotnie. Związek tych dwóch będzie zawierał zarównocheckbox
iradio
.Na wszelki wypadek, gdyby ktoś utknął jak ja. Po przejściu przez post i kilka prób i testów zadziałało to dla mnie.
źródło
Słowo ostrzeżenia. Łączenie ze sobą kilku
not
selektorów zwiększa specyficzność wynikowego selektora, co utrudnia jego przesłonięcie: po prostu musisz znaleźć selektor ze wszystkimi niewiadomymi i skopiować go i wkleić do nowego selektora.not(X or Y)
Selektor byłoby wspaniale, aby uniknąć pompowania specyfikę, ale myślę, że musimy trzymać się łączenie przeciwieństw, jak w tej odpowiedzi .źródło