2015-12-16 105 views
0

目标:将一个盒子和所有其他盒子悬停(不透明)。影响同一父DIV的一个DIV悬停的几个DIV

笔:http://codepen.io/su1ts/pen/eJJbWm

HTML:

<div class="outer"> 
    <div class="inner one">1</div> 
    <div class="inner two">2</div> 
    <div class="inner three">3</div> 
    <div class="inner four">4</div> 
</div> 

CSS:

.outer { 
    width: 100%; 
    height: 100%; 
} 

.inner { 
    width: 21%; 
    height: 100px; 
    background: #000; 
    margin-right: 1%; 
    float: left; 
    color: #fff; 
    text-align: center; 
} 

.inner:hover { 
    opacity: 1; 
} 

.one:hover + .two + .three { 
    opacity: 0.5; 
} 

我无法找到一个方法来添加对多个类.one:悬停类。

非常感谢帮助!

+0

我认为你可以做到这一点向前,而不是倒退。 CSS往往只允许向内/向前扫描;元素1永远不会因为它的同胞元素5的状态改变而改变。 – Katana314

回答

2

使用JavaScript来控制不透明度

$(document).ready(function(){ 
    $('.outer > .inner').mouseover(function(){ 
    $('.outer > .inner').css('opacity','0.5'); 
    $(this).css('opacity','1'); 
    }).mouseout(function(){ 
    $('.outer > .inner').css('opacity','1'); 
    }); 
}); 

实例 https://jsfiddle.net/rboschini/958za7kf/

+1

这个工作完美,正是我所期待的。 JS为胜利!非常感谢!! – halp

+0

可能jQuery Force与你同在 – RBoschini