html - 将样式添加到悬停到具有不同类的元素上的列表元素

标签 html css

我有一个按以下方式标记的导航:

<nav>
  <ul>
    <li class="first-item"><a href="main.html"> Home </a></li>
    <li class="second-item"><a href="menu.html"> Menu </a></li>
    <li class="third-item"><a href="why-us.html">Why us? </a></li>
    <li class="fourth-item"><a href="contact.html"> Contact </a></li>
  </ul>
</nav>

它的设置方式是第三项 li 添加了一些样式(框阴影),因为它是指示用户当前所在位置的事件元素。它还使列表元素的其余部分更加透明。

将鼠标悬停在任何其他 li 上时,我希望第三项 li 没有框阴影,并且悬停在其上的任何元素都添加了一些样式,但使用 ul li:hover .third-item 似乎不起作用.

这是 CSS:

ul li:not(.third-item) {
 opacity: 0.8;
}

ul li.third-item {
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.5);
  z-index: 10;
  position: relative;
}

ul li:hover {
  opacity: 1;
  box-shadow: 0 0 4px 5px rgba(0, 0, 0, 0.2);
}

ul li:hover .third-item {
  box-shadow: none;
}

最佳答案

使用规则 ul li:hover .third-item,您的目标是 li:hover 内的 .third-item。但该元素不存在。

而是将鼠标悬停在父 ul 上。

因此,ul li:hover .third-item 变为 ul:hover .third-item。一旦您将鼠标悬停在列表上,第三个元素的样式就会被覆盖。

这可行,但您可能也希望对第三个元素具有悬停效果。因此,您需要将 ul:hover .third-item:hover 添加到 ul li:hover 规则中。

ul li:not(.third-item) {
 opacity: 0.8;
}

ul li.third-item {
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.5);
  z-index: 10;
  position: relative;
}
ul li:hover,
ul:hover .third-item:hover {
  opacity: 1;
  box-shadow: 0 0 4px 5px rgba(0, 0, 0, 0.2);
}
ul:hover .third-item {
  box-shadow: none;
}
<nav>
  <ul>
    <li class="first-item"><a href="main.html"> Home </a></li>
    <li class="second-item"><a href="menu.html"> Menu </a></li>
    <li class="third-item"><a href="why-us.html">Why us? </a></li>
    <li class="fourth-item"><a href="contact.html"> Contact </a></li>
  </ul>
</nav>

关于html - 将样式添加到悬停到具有不同类的元素上的列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31646085/

相关文章:

html - 如何删除 Iphone 上的电话号码链接?

html - CSS - 悬停子菜单项时更改下拉菜单的颜色

javascript - 根据状态更改 JSON HTML 表格单元格颜色

html - 如何在 CSS 缩略图库中获取起始图片

HTML 表格设置一个列宽,而其余列适合内容,而表格宽度设置为自动

c# - MVC 4 - 脚本/CSS 渲染问题

javascript - 如何让现有的 jQuery 选择将 html 作为字符串插入到 div 中

python - 在表格单元格中填充颜色

html - 使用渐变文本作为发光字母段落格式? CSS 网络工具包

css - mso- 属性列表