css - 仅将 CSS 样式应用于特定的 li 元素
问题描述
我有这个菜单:
<ul class="elementor-nav-menu">
<li><a href="">Locations</a></li>
<li><a href="">Fuel</a></li>
<li><a href="">About Us</a>
<ul>
<li><a href="">Sub item 1</a></li>
<li><a href="">Sub item 2</a></li>
<li><a href="">Sub item 3</a></li>
<li><a href="">Sub item 4</a></li>
</ul>
</li>
<li><a href="">Contact</a></li>
<li><a href="">Find Us</a></li>
</ul>
现在,我只想为位置、燃料、悬停时的联系人添加border-bottom
样式。
为此,我使用以下 CSS:
.elementor-nav-menu li:not(:nth-child(3n)):hover {
border-bottom: 3px solid yellow;
}
但这似乎不起作用。代码在最后一个元素以及下拉菜单的最后一个元素上添加了我不想要的样式。
解决方案
这个答案依赖于子组合选择器,它只选择元素的直接子元素。
.elementor-nav-menu > li:nth-child(1):hover,
.elementor-nav-menu > li:nth-child(2):hover,
.elementor-nav-menu > li:nth-child(4):hover
{
border-bottom: 3px solid yellow;
}
<ul class="elementor-nav-menu">
<li><a href="">Locations</a></li>
<li><a href="">Fuel</a></li>
<li><a href="">About Us</a>
<ul>
<li><a href="">Sub item 1</a></li>
<li><a href="">Sub item 2</a></li>
<li><a href="">Sub item 3</a></li>
<li><a href="">Sub item 4</a></li>
</ul>
</li>
<li><a href="">Contact</a></li>
<li><a href="">Find Us</a></li>
</ul>
推荐阅读
- java - 根据一些值过滤列表,然后再次过滤第一个输出的结果
- python - 在过程 i while 循环之后添加增量有什么区别
- reactjs - 无法修复自动完成中的 popper 放置
- python - 使用来自另一个文件的数据创建 xml 文件的问题
- python - 如何在 Databricks 上的 Pandas 数据框中使用 SQL 相交运算符
- javascript - 如何根据匹配的对象键获取值的平均值 [代码]
- electron - 电子窗口 - alwaysontop 但不在其他应用程序之上
- xamarin.forms - xamarin.forms:当链接器设置为 NONE 时,应用程序不会在 android 上启动
- php - 销售人员中的日期到达方式不同
- python - 从 Master 到 worker 的 uWSGI 信号传播