Mam regułę stylu, którą chcę zastosować do tagu, gdy ma on dwie klasy. Czy jest jakiś sposób na wykonanie tego bez JavaScript? Innymi słowy:
<li class='left ui-class-selector'>
Chcę zastosować moją regułę stylu tylko wtedy, gdy li
zastosowano obie klasy .left
i .ui-class-selector
klasy.
css
css-selectors
Ciel
źródło
źródło
Odpowiedzi:
Masz na myśli dwie klasy? „Połącz” selektory (bez spacji między nimi):
To wybiera wszystkie elementy,
class1
które również mająclass2
.W Twoim przypadku:
Oficjalna dokumentacja: Selektory klas CSS2 .
Jak akamike wskazuje na problem z tą metodą w Internet Explorerze 6, możesz przeczytać to: Używać podwójnych klas w CSS IE6?
źródło
Selektory łańcucha nie ograniczają się tylko do klas, możesz to zrobić zarówno dla klas, jak i identyfikatorów.
Klasy
Identyfikator klasy
Zrobiłem
Wszystkie dobre obecne przeglądarki obsługują to, z wyjątkiem IE 6, wybiera na podstawie ostatniego selektora na liście. Zatem „.classA.classB” wybierze na podstawie po prostu „.classB”.
Do twojej sprawy
lub
źródło
Możesz użyć tych rozwiązań:
Reguły CSS mają zastosowanie do wszystkich tagów, które mają następujące dwie klasy:
Reguły CSS mają zastosowanie do wszystkich tagów, które mają
<li>
następujące dwie klasy:Rozwiązanie jQuery:
Rozwiązanie Javascript:
źródło