javascript - 悬停特定类时禁用背景颜色
问题描述
我有一个像这样的简单 html 列表...
.special {
background: yellow;
}
li:hover {
background: purple;
color:white;
}
<ul>
<li class="special">
<a href="#">
Item 1
</a>
</li>
<li>
<a href="#">
Item 2
</a>
</li>
<li class="special">
<a href="#">
Item 3
</a>
</li>
<li class="special">
<a href="#">
Item 4
</a>
</li>
<li>
<a href="#">
Item 5
</a>
</li>
</ul>
当special
悬停该类的菜单项时,我希望在yellow
除悬停之外的所有项目上禁用背景颜色。
有没有办法可以做到这一点,CSS
或者我需要添加一些javascript
?
解决方案
你可以用 CSS 来做到这一点。使用选择器 ul:hover li 选择所有 li 标记,这些标记是悬停在 uls 上的后代。如果你添加更多的 CSS 和一个过渡,你会得到一个很酷的效果。尝试将鼠标悬停在一个 li 标签上,然后立即将鼠标悬停在另一个标签上
li, li a {
transition:
all 0.5s cubic-bezier(1,0.5,0,0.5),
font-size 0.25s cubic-bezier(0,1,1,0);
-moz-transition:
all 0.5s cubic-bezier(1,0.5,0,0.5),
font-size 0.25s cubic-bezier(0,1,1,0);
-webkkit-transition:
all 0.5s cubic-bezier(1,0.5,0,0.5),
font-size 0.25s cubic-bezier(0,1,1,0);
text-align: center;
height: 22px;
}
.special {
background: orange;
}
ul:hover li{
background: white
}
ul:hover li:hover {
background: red;
height: 35px;
}
ul li a {
font-size: 16px;
}
ul:hover li a {
font-size: 20px;
}
ul:hover li:hover a {
color: white;
font-weight: 1000;
font-size: 30px;
}
<ul>
<li class="special">
<a href="#">
Item 1
</a>
</li>
<li>
<a href="#">
Item 2
</a>
</li>
<li class="special">
<a href="#">
Item 3
</a>
</li>
<li class="special">
<a href="#">
Item 4
</a>
</li>
<li>
<a href="#">
Item 5
</a>
</li>
</ul>
推荐阅读
- javascript - 背景虚化效果
- r - 如何删除 RMarkdown 中 descr() 的标头?
- asp.net-core - c# 将对象序列化为 json 子部分
- html - 单击单选按钮时,是否会自动添加选中的属性?
- c - 如何解决:捕获意外信号:SIGSEGV (11)。无效的内存访问
- r - 为什么我不能将此 csv 文件读入 R
- python - 如何在烧瓶应用程序中自定义 matplotlib 图的工具提示文本
- intel - 无法在 AMD cpu Android Studio 上卸载 Intel Haxm
- google-bigquery - Terraform GCP bigquery 外部数据配置模块
- kotlin - 为什么 Apache Camel 会导致优雅关闭