[英]Add CSS on a container class when a class is added inside another class and vice versa
这是我的网站的HTML示例。 当某个类添加到带有img的容器中时,我想更改CSS。 在这种情况下,将onclick类添加到img。 添加类并删除类时,如何添加CSS。 请参阅下面的示例。 我看到了一些使用javascript的教程,但是也可以仅使用CSS来完成吗?
.container //when image is unselected{ border: 2px dotted; } .container //when image is selected{ border: 2px solid; }
//When image is unselected <div class="container"> <div class="checkbox"> <div class="value"> <img class="some-image"> </div> </div> </div> //When image is selected <div class="container"> <div class="checkbox"> <div class="value"> <img class="some-image selected"> </div> </div> </div>
是的,仅使用CSS即可实现。 此处的关键是使用contenteditable
全局属性和:target
伪类 ,如下所示。
.container { display: inline-block; } .container:focus { outline: none; } .container:focus img { border: 2px dotted; } .container img { border: 2px solid; }
<div> <div class="container" contenteditable> <div class="checkbox"> <div class="value"> <img class="some-image" src="https://via.placeholder.com/100x100"> </div> </div> </div> <div class="container" contenteditable> <div class="checkbox"> <div class="value"> <img class="some-image" src="https://via.placeholder.com/100x100"> </div> </div> </div> </div>
在JavaScript中,这很容易完成。 JS允许您编写许多事件驱动的代码。 这是您尝试在JS中执行的示例。
如果您正在寻找纯CSS解决方案,那么您将得到的最接近的结果是:
.container {
border: 2px dotted;
}
.container:active {
border: 2px solid;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.