2011-08-21 68 views
9

是否有更好的單行crossbrowser解決方案來通過css更改兒童文字顏色?
需要做出懸停格中的所有文本紅色

HTML:
改變父母懸停兒童顏色的更好解決方案

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


CSS:

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


我以爲只有這

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

回答

18

自己的...

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

...是一個很好的解決方案爲已任,真的。如果你想匹配其他類/元素,你可以使用星號;

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

http://jsfiddle.net/h5BaU/

+0

是的,這是很好的方式,XEC,但simliest演示? /我的投票 – Shara

+2

這很簡單。是的,我會說這是最簡單的解決方案。無法在同一選擇中匹配元素及其子元素(例如'div:hover && *'),所以'div:hover,div:hover *'既是語義也是簡單。給男人接受! –