<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
</ul>
当用户将鼠标移到包含该元素的元素上时,是否可以告诉我是否可以使用css模糊包含ul
,a
,d
的{{1}}元素e
,不使用JavaScript?
答案 0 :(得分:12)
你的意思是这样的:
<强> HTML 强>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>e</li>
</ul>
<强> CSS 强>
ul li {
background-color: red;
margin: 2px;
}
ul:hover li {
opacity: .5;
}
ul li:hover {
opacity: 1;
}
答案 1 :(得分:3)
与使用多个选择器相反,您可以使用:not
选择器将它们合并为一个。
ul:hover li:not(:hover) {
opacity: .5;
}
这会在所有opacity:.5
上设置li
,而不会覆盖所有{{1}}。
答案 2 :(得分:2)
Here是你追求的一个很好的例子。该代码示例演示了如何模糊除了悬停元素之外的所有内容。
答案 3 :(得分:1)
您可以尝试使用something like this,由于text-shadow
属性,所有浏览器均不支持此选项:
ul:hover li {
text-shadow: 0px 0px 3px black;
color: transparent;
}
ul:hover li:hover {
text-shadow: none;
color: black;
}
编辑:添加了上面一个jsfiddle的链接,因为这显然是让你获得投票的很酷的东西。 :P