css - 将鼠标悬停在菜单项上以突出显示 subnav 的背景
问题描述
我正在努力做到这一点,所以当您将鼠标悬停在标题导航“呼叫|聊天|更多”中的一个类别上时,下面的子导航会显示,并且与标题导航关联的 ul 会更改其背景颜色,我知道我可以使用 jQuery 添加一个类,但我不能用兄弟选择器或其他东西来做到这一点吗?我只是认为我的 HTML 目前的布局不正确,以便 TIA 工作。这就是我目前拥有的。
<header class="header">
<ul class="header__nav">
<li class="header__navItem header__navItem--calls">Calls</li>
<li class="header__navItem header__navItem--chats">Chats</li>
<li class="header__navItem header__navItem--more">More</li>
</ul>
<nav class="navigation">
<div class="navigation__wrapper cf">
<ul class="navItems navItems--calls">
<li class="navItems__item"></li>
<li class="navItems__item"></li>
<li class="navItems__item"></li>
<li class="navItems__item"></li>
<div class="bgHover"></div>
</ul>
</div>
</nav>
</header>
.header {
height: 5.8rem;
background: rgba(25, 25, 25, 0.9);
position: absolute;
width: 100%;
z-index: 999;
&__nav {
display: inline-block;
text-align: center;
font-size: 0;
left: 50%;
position: absolute;
transform: translateX(-50%);
padding: 0;
margin: 0;
}
&__navItem {
color: $white;
display: inline-block;
@include font-size(18);
padding: 0 4rem;
line-height: 5.8rem;
letter-spacing: 0.1rem;
position: relative;
cursor: default;
font-weight: 400;
text-transform: uppercase;
font-family: $lato;
&--calls {
&:hover ~ .navigation__wrapper .navItems .bgHover {
max-height: 35rem;
}
&:hover {
color: red;
}
}
}
解决方案
我假设您希望子菜单出现在标题导航下方。如果是这样,则将您的子导航移动到相应标题项的 li 标记中,如下所示:
<li class="header__navItem header__navItem--calls">Calls
<ul class="navItems navItems--calls">
<li class="navItems__item">First</li>
<li class="navItems__item">Second</li>
<li class="navItems__item">Third</li>
<li class="navItems__item">Fourth</li>
</ul>
</li>
推荐阅读
- python - 当特定语句需要更多时间执行时,如何在 Python for 循环中跳过迭代?
- csv - 用于搜索(大)未排序数组的索引(类型)
- python - Scrapy CrawlSpider 无法抓取首页
- azure-devops - 如何创建 ADO 工作项,将迭代路径设置为 REST API 中的当前迭代?
- c++ - 使用递归的c ++中的分段错误
- google-app-engine - 使用服务帐户的 GCP 服务器到服务器身份验证
- php - 将字符串转换为 JSON 对象
- azure - 在客户租户中创建 Azure AD 应用程序
- reactjs - 即使我在浏览器中写入路由中定义的确切路径,React 组件也不会加载
- python - Python tkinter Mac 和 windows