我在Prestashop 1.6.0.14购买了许多产品。主要思想是在网格中的每个显示的产品上进行不透明度,而不是具有悬停的产品。
这是我的代码(简化):HTML
<div id="tab-content">
<ul id="list">
<li class=product></li>
<li class=product></li>
<li class=product></li>
<li class=product></li>
<li class=product></li>
</ul>
</div>
我找到了一些解决方案HERE但是使用选择器“+”或“〜”只影响我悬停的容器之后的容器,而不是之前的容器。有没有解决方案(CSS,JS)?我感谢任何帮助。
答案 0 :(得分:4)
您可以尝试以下方式:
ul {
display: inline-block;
overflow: hidden;
border: 1px solid;
list-style: none;
margin: 0;
padding: 0;
}
ul:hover li {
opacity: 0.5;
}
ul li:hover {
opacity: 1;
}
li{
float: left;
padding: 10px;
border-left: 1px solid;
background-color: #eee;
}
li:first-child{
border-left: 0;
}
<ul>
<li>lorem</li>
<li>ipsum</li>
<li>dolor</li>
<li>hello</li>
</ul>
答案 1 :(得分:1)
ul:hover li {
background-color: #000;
}
ul li:hover {
background-color: #fff;
}
我对您帖子的初步评论是建议使用:not()
选择器,但这不是一个好的答案。 :)
这是一个解决方案,它不是很好,但它是一个CSS解决方案。
答案 2 :(得分:0)
当我创建一个jsfiddle时,有人打败了我 - 在ul
上使用悬停ul:hover .product{background: green;}
ul:hover li:hover{background: none;}
答案 3 :(得分:-1)
CSS中有一个属性可以做到这一点!