如题
如何做到:点击div其他部位时div背景变灰色;点击一个div中的icon时使icon背景变灰色,同时div背景不变色?
<div class="ac_published">
<div class="right">
<i class="fa fa-share-alt text-colorful hover-pointer icon-share"></i>
<i class="fa fa-pencil text-colorful hover-pointer icon-edit"></i>
</div>
</div>
css我是这样写的,但是这样写的话,点击icon的时候,div背景也会变色。。
.ac_published:active{
background-color: #e1e1e1;
}
.ac_published .right .icon-share:active{
background: #a94442;
}
请问该怎么处理啊
谢谢
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
<style>
.ac_published{
border:1px solid red; width:500px;
}
.icon-share, .icon-edit{
background:blue; padding:10px; display:inline-block; margin:20px;
}
.ac_published:active{
background-color:#e1e1e1;
}
.ac_published .right .icon-share:active{
background:#a94442;
}
</style>
</head>
<body>
<!--overlay用来遮盖ac_published,不让点到,鼠标移上设置白色,鼠标移出设置透明-->
<div class="ac_published">
<div id="overlay">
<div class="right">
<i class="fa fa-share-alt text-colorful hover-pointer icon-share"
onmouseover="document.getElementById('overlay').style='background:white'"
onmouseout ="document.getElementById('overlay').style='background:transparent'"
>文字1</i>
<i class="fa fa-pencil text-colorful hover-pointer icon-edit">文字2</i>
</div>
</div>
</div>
</body>
</html>
这是最简便的,你试试吧,
觉得不好看的话你就把onmouseover/onmouseout写到<script></script>里
.ac_published:active的时候包括除icon外区域点击,也包括了icon区域点击;
除非div与icon不是上下级关系,而是同级关系;
如果DOM结构不变,使用js方法吧;