【发布时间】:2014-10-12 15:48:58
【问题描述】:
我正在尝试创建一个仅使用 CSS 的事件,当我将鼠标悬停在一个单独的 div 上时,它的 DIV(白色)从 0.6 不透明度变为 1.0 不透明度,以至于当我将鼠标悬停在一个 div 上时其他看起来好像是淡出的。
如果我想让悬停在上面的 div 消失,但我想悬停并更改另一个 div 而不是我悬停在上面的那个,我的代码可以工作。
HTML
<div id="sell1">
<div class="s1"></div>
</div>
<div id="gap"></div>
<div id="sell2">
<div class="s2"></div>
</div>
CSS
#sell1 {
height:100px;
width:100%;
background-color: rgb(50,70,130);
}
#sell2 {
height:100px;
width:100%;
background-color: rgb(50,70,130);
}
#gap {
height:50px;
background-color:white;
}
.s1, .s2 {
width:100%;
height:247px;
position:absolute;
background:rgba(255, 255, 255, 0.6);
opacity:0;
-webkit-transition: opacity .25s ease;
-moz-transition: opacity .25s ease;
}
#sell2:hover .s1 {
opacity:1;
}
http://jsfiddle.net/UgsyL/186/
所以在这里我想将鼠标悬停在“sell2”div 上,让 .s1 的不透明度从 0.6 变为 1.0。
有什么帮助吗?
【问题讨论】:
-
如果不引入一些 JavaScript,这是不可能的,因为
.s1不是#sell2的子代。 -
不,纯 CSS 绝对不可能。反过来也是可能的。可以将
#sell1悬停,然后使.s1淡出,因此您可以使用#sell1:hover ~ #sell2 .s2 { ... },另见jsfiddle.net/LinkinTED/UgsyL/190 -
@LinkinTED,我想你回答了这个问题
-
@Brian:不,他想悬停
#sell2并触发.s1...而不是悬停#sell1触发.s2... :)