2017-10-24 2 views
-1

Ähnlich wie bei dieser Frage kann ich die Syntax nicht korrekt erhalten. wildcard * in CSS for classesCSS-div [Klasse * = "x"] Syntax-Problem

ich im Grunde diese in eine „Wildcard“ Erklärung abgeben müssen:

.et_pb_tab_0 td:hover{ 
    background: #000 !important; 
} 
.et_pb_tab_2 td:hover{ 
    background: #000 !important; 
} 
.et_pb_tab_3 td:hover{ 
    background: #000 !important; 
} 
etc.... 

hier ist, was ich versucht:

div[class*="et_pb_tab_"], div[class^=" td:hover"]{ 
    background: #000 !important; 
} 

Aber es wirkt, als ob es die „TDs ignorieren: schweben "section und ändere den Hintergrund des et_pb_tab_ * anstelle des td drinnen, wenn er schwebte.

+1

Es tut genau was du sagst es mit dem CSS-Selektor zu tun 'div [class * =" et_pb_tab _ "]'. Wie für 'div [Klasse^=" td: hover "]' ... Haben Sie tatsächlich eine ** Klasse ** namens 'td: hover'? – FluffyKitten

+1

entfernen Sie das Komma und machen Sie den zweiten td: Hover – FluffyNights

+0

Deshalb ist Terminologie so wichtig und warum Leute auf Stack Overflow sind so wählerisch darüber. Viele Leute nennen Selektoren oder Regelsätze "Klassen", aber "Klasse" hat eine sehr spezifische Bedeutung und versucht, sie auf Dinge anzuwenden, die nicht in solchen Situationen resultieren. – BoltClock

Antwort

4

Wenn Sie beabsichtigen, all td s auf schweben zu wählen, das Kind sind Elemente von Elementen einen dieser drei Klassen haben, sollte es sein:

div[class*="et_pb_tab_"] td:hover{ 
    background: #000 !important; 
} 

dh kein Komma nach der Klassenauswahl und keine Klasse ein Kindelement, aber einfach td mit :hover.

BTW: Sie haben nicht geschrieben, dass der Elternteil ein Div ist, aber ich vermute, dass aus dem Code in Ihrer Frage. Wenn nicht, benutze * anstelle von div

+0

Perfekt! Vielen Dank! –

Verwandte Themen