在父悬停时更改儿童颜色的更好解决方案

Sha*_*ara 10 css colors hover

是否有更好的一行crossbrowser解决方案通过CSS改变儿童文本颜色?
需要在悬停div

html 上使所有文本变为红色:

<div><span class="gray">I'm a lion!</span><span>Arrrrr!!!</span></div>
Run Code Online (Sandbox Code Playgroud)


CSS:

div {color:black};
.gray {color:gray;}
div:hover {color:red;}
Run Code Online (Sandbox Code Playgroud)


我只想到这一点

div:hover, div:hover .gray {color:red;}
Run Code Online (Sandbox Code Playgroud)

xec*_*xec 21

你自己...

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

......真是一个好的解决方案.如果你想匹配其他类/元素,你可以使用一个星;

div:hover, div:hover * { color:red; }
Run Code Online (Sandbox Code Playgroud)

演示http://jsfiddle.net/h5BaU/

  • 这很简单.是的,我会说这是最简单的解决方案.不可能在同一个选择中匹配一个元素及其子元素(例如`div:hover &&*`),所以`div:hover,div:hover*`既语义又简单.给男人接受! (2认同)