【发布时间】:2014-12-09 18:50:53
【问题描述】:
我正在尝试纯粹使用 CSS 在 HTML 列表中创建特定的悬停效果。悬停时,“背景”nav 元素应为半透明,而“前景”li 应为全透明。
nav {
font-size:2.0em;
}
nav:hover {
background-color: #0000ff;
opacity: 0.5;
}
nav li:hover {
background-color: #ff0000;
opacity: 1.0;
}
<nav>
<ul>
<li>First</li>
<li>Second</li>
</ul>
</nav>
不幸的是,li 悬停似乎已经获得了一半的不透明度,即使已指定 opacity:1.0。
为什么会发生这种情况,我错过了什么?
【问题讨论】:
-
你能解释一下吗?
-
它不起作用,因为您的 LI 标签在 NAV 内,我的意思是您的 NAV 标签将是 50% 的不透明度,然后您的 LI 标签将是 50% 的 100%。意义将保持不变。
-
当您将
<nav>设置为opacity:.5时,您也在为其子项设置不透明度。您需要在background-color中指定透明度(通过rgba())或提供不是<nav>子级的背景。 -
@SajadLfc 你需要知道什么?