Html 不同div中的元素赢得';t使用:active时不相互影响

Html 不同div中的元素赢得';t使用:active时不相互影响,html,css,Html,Css,我需要一个元素在单击时影响另一个元素,即使另一个元素位于不同的div中。我提供了一个示例来进一步解释。我非常感谢你对我的问题的帮助或关心。谢谢大家 简单地说…你不能(使用香草CSS) (对不起) CSS不能“向后”遍历DOM,即通过向上遍历父级。联合选择器只能识别直接子代,或在DOM(您的HTML)中跟随的后续同级。您需要使用JS来执行类似操作 例如,如果要使用jQuery: $('.object-1').click(function(){ $('.object-2').css('back

我需要一个元素在单击时影响另一个元素,即使另一个元素位于不同的div中。我提供了一个示例来进一步解释。我非常感谢你对我的问题的帮助或关心。谢谢大家

简单地说…你不能(使用香草CSS) (对不起)


CSS不能“向后”遍历DOM,即通过向上遍历父级。联合选择器只能识别直接子代,或在DOM(您的HTML)中跟随的后续同级。您需要使用JS来执行类似操作

例如,如果要使用jQuery:

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

现场演示是有用的,但是当外部资源消失时,依赖外部资源理解的问题就变得无用了。在问题中包括您的代码。不幸的是,您必须使用JavaScript。
div
没有
:active
状态。另外,
也不正确。但是如果我想更改背景图像怎么办?在这种情况下,您可以使用('background-image','url(image.png)),但最好是添加一个类,并在css中为该类使用背景图像。您是一个救世主!非常感谢。
#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;   
}
}
$('.object-1').click(function(){
  $('.object-2').css('background-color', '#ff0000');
  //or $('.object-2').addClass('active');
});