不同div中的元素不会使用:active来相互影响

时间:2014-05-20 13:11:28

标签: html css

我需要一个元素来点击另一个元素,即使另一个元素位于不同的div中。我提供了一个进一步解释的例子。我非常感谢你的帮助或对我的问题感兴趣。谢谢大家

http://codepen.io/Kiraken/pen/iedtm

<div id="container">
    <div id="first">
        <div id="object"></div>
    </div id="second">
        <div id="second-object">
        </div>
    </div>
</div>
#container{
    width:600px;
    height:600px;
    margin: auto;
}
#first{
    width:100%;
    height:200px;
    margin:auto;
}
#object{
    width:200px;
    height:200px;
    margin:auto;
    background:#f05;
}
#second{
    width:100%;
    height:200px;
    margin:auto;
}
#second-object{
    width:400px;
    height:200px;
    margin:20px auto;
    background:#333;
}
#second-object:active #object{
     background:#000;   
}
}

2 个答案:

答案 0 :(得分:1)

简单地说......你不能(使用香草CSS)

(对不起)

CSS不能向后遍历DOM,即通过提升父级别。连接选择器只能识别DOM中的直接后代或后续兄弟(HTML)。

答案 1 :(得分:0)

你需要使用JS来做这样的事情。

例如。如果你要使用jQuery:

$('.object-1').click(function(){
  $('.object-2').css('background-color', '#ff0000');
  //or $('.object-2').addClass('active');
});