html - 导航栏仅在网站的一个部分中不可点击
问题描述
我希望导航栏保持在固定位置。它工作正常,但在我的展示部分中无法点击链接。只要您向下滚动,它就会再次变为可点击。我需要帮助了解为什么会这样
<nav id="nav-bar">
<h2 class="logo">
<span class="txt-primary"><i class="far fa-moon"></i></span> | MMM
</h2>
<ul>
<li class="nav-link"><a href="#about">About</a></li>
<li class="nav-link"><a href="#service">Services</a></li>
<li class="nav-link"><a href="#videos">Videos</a></li>
<li class="nav-link"><a href="#contact">Contact</a></li>
</ul>
</nav>
CSS:
#nav-bar {
display: flex;
position: fixed;
width: 100%;
background: rgba(60,3,56,0.8);
color: #dbd8e5;
justify-content: space-between;
padding: 0.4rem;
}
#nav-bar ul {
display: flex;
align-items: center;
}
#nav-bar ul li a {
padding: 0.55rem;
color: #7c72a0;
}
#nav-bar ul li a:hover {
background: #5f0d45;
color: #dbd8e5;
padding: 0.75rem;
}
解决方案
添加一个z-index
到您#nav-bar
的堆叠它高于“展示部分”。
z-index: 99999;
任何具有position
除默认值之外的值的元素static
都可以堆叠在 z 轴上(您的导航是position: fixed;
)。较高的数字位于顶部。
您可以设置一个非常高的无意义值,例如 99999,但我建议给它一个有意义且您可以管理的数字。找出z-index
“展示部分”并将其设置得更高。如果z-index
设置为 no,则简单的z-index: 1;
可以工作(但感觉它的导航数字越大越好)。
如果您使用 sass 或更少,您可以通过为您的网站设置变量来更轻松地跟踪z-index
。
另外,请阅读stacking context,因为它比设置更高的数字更复杂。
祝你好运!
推荐阅读
- reactjs - 使用 React Router 获取 TypeError
- java - Android被捡了多少次?
- c# - 如何设置 ffmpeg 管道输出?
- symfony - Symfony 遍历 ArrayCollection
- xpath - 根据元素中的特定字符串从jmeter中的xml响应中提取元素
- django - 如何在 Django Admin 中过滤外键字段的查询集
- python - Python Scrapy not outputting to csv file
- c - 在 C 中将 int 拆分为 2 部分
- html - 将 div 保存在浮动旁边的列中
- oracle - ORACLE 12C 升级后 NLS_SESSION_PARAMETERS 中的 NLS_TERRITORY 未显示正确值