2011-08-21 18 views
9

Czy istnieje lepsze rozwiązanie do crossbrowserów linii, aby zmienić kolor tekstu dzieci przez css?
Trzeba uczynić wszystko czerwonym tekstem przy aktywowaniu div

html:
Lepsze rozwiązanie do zmiany koloru dzieci na hover rodziców

<div><span class="gray">I'm a lion!</span><span>Arrrrr!!!</span></div> 


css:

div {color:black}; 
.gray {color:gray;} 
div:hover {color:red;} 


myślałem tylko ten

div:hover, div:hover .gray {color:red;} 

Odpowiedz

18

własną rękę ...

div:hover, div:hover .gray {color:red;}

... jest tak dobre, jak każde rozwiązanie, naprawdę. Jeśli chcesz dopasować inne klasy/elementy, możesz użyć gwiazdki;

div:hover, div:hover * { color:red; } 

demo na http://jsfiddle.net/h5BaU/

+0

tak, to dobry sposób, XEC, ale simliest?/mój głos – Shara

+2

To całkiem proste. Tak, powiedziałbym, że to najprostsze rozwiązanie. Nie można dopasować zarówno elementu, jak i jego elementów podrzędnych w tym samym zaznaczeniu (np. 'Div: hover && *'), więc 'div: hover, div: hover *' jest zarówno semantyczne, jak i proste. Daj człowiekowi akceptację! –

Powiązane problemy