123*_*qwe 9 html css hover less
在这段代码中:
<div id="Container">
<span class='first'>First</span>
<span class='second'>Second</span>
<span class='third'>Third</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我想改变颜色,何时:hover.
.first:hover)那么.first { color: red; }.second:hover)那么.first, .second { color: red; }.third:hover)那么.first, .second, .third { color: red; }没有JS,这可能吗?我可以接受CSS Hacks :)
可能答案:
更难的版本:
<div id="Container">
<span class='first' style='color: red'>First</span>
<span class='second' style='color: green'>Second</span>
<span class='third' style='color: blue'>Third</span>
</div>
Run Code Online (Sandbox Code Playgroud)
.first:hover)那么.first { color: pink; }.second:hover)那么.first, .second { color: pink; }.third:hover)那么.first, .second, .third { color: pink; }回答:
在CSS中没有先前的兄弟选择器,但是......有时你可以使用已知的选择器来完成它.有时.
<style>
span {color: #000; display: block;}
div:hover span {color: #f00;}
span:hover ~ span {color: #000}
</style>
<div id="FirstSecondThird-Container">
<span class='first'>First</span>
<span class='second'>Second</span>
<span class='third'>Third</span>
</div>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/45zLdcvr/
它适用于block spans(浮动,当然).如果spans有默认值display: inline,当你div在跨距间盘旋时,它会闪烁.
更新:
你更新了每个跨度有自己颜色的问题,然后它可能是:
span {color: red}
.second {color: green}
.third {color: blue}
span {display: block;}
div:hover span {color: pink;}
span:hover ~ .second {color: green}
span:hover ~ .third {color: blue}
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/45zLdcvr/1/
我在基于panther 的回答的@eachSASS 中找到了一种方法:
$containerID: FirstSecondThird-Container;
##{$containerID}:hover span {color:pink}
@each $spanclass, $spancolor in (first, red), (second, green), (third, blue) {
##{$containerID} span:hover ~ .#{$spanclass}, .#{$spanclass} {
color: #{$spancolor};
}
}
Run Code Online (Sandbox Code Playgroud)
它有点短,但结果如下(生成的 CSS):
$containerID: FirstSecondThird-Container;
##{$containerID}:hover span {color:pink}
@each $spanclass, $spancolor in (first, red), (second, green), (third, blue) {
##{$containerID} span:hover ~ .#{$spanclass}, .#{$spanclass} {
color: #{$spancolor};
}
}
Run Code Online (Sandbox Code Playgroud)
#FirstSecondThird-Container:hover span {
color: pink;
}
#FirstSecondThird-Container span:hover ~ .first, .first {
color: red;
}
#FirstSecondThird-Container span:hover ~ .second, .second {
color: green;
}
#FirstSecondThird-Container span:hover ~ .third, .third {
color: blue;
}
span {display: block;} /* this line was not generated, it's just to place them vertically */Run Code Online (Sandbox Code Playgroud)
其 CSS 规则与panther's fiddle类似。
不错的挑战123qwe :)
| 归档时间: |
|
| 查看次数: |
556 次 |
| 最近记录: |