html - 如何使用绝对导航栏和相对图像修复 z-index?
问题描述
所以,我试图有一个绝对定位的导航栏,堆叠在图像的顶部,我希望它设置为导航在滚动时变为纯色背景,但我遇到的问题是z-索引。导航只是拒绝堆叠在相对位置的图像上。这两个项目在 html 中也是兄弟元素,因此父元素遮盖子元素应该不存在问题。
nav {
text-align: right;
width: 100%;
}
nav ul li {
position: absolute;
top: 0;
z-index: 100;
}
nav li {
display: inline;
width: 100%;
}
li {
list-style-type: none;
width: 100%;
padding: 5px;
}
#hero-image {
width: 100vw;
height: 100vh;
margin: 0;
padding: 0;
z-index: -1;
position: relative;
}
<nav id="top-nav">
<ul class="nav-list">
<li class="nav-item">Home</li>
<li class="nav-item">Course Catalog</li>
<li class="nav-item">Products & Services</li>
<li class="nav-item">About</li>
<li class="nav-item">Contact</li>
</ul>
</nav>
<img id="hero-image" src="https://res.cloudinary.com/spacecatind/image/upload/v1568288870/The%20Line%2C%20LLC/tower-sunset_qtqa0q.jpg"></img>
解决方案
将此添加到您的导航 css
position: absolute;
top: 0;
z-index: 100;
它不工作的原因是因为,你正在制作内部li
物品position:absolute
而不是这样做,使父导航position:absolute
nav {
text-align: right;
width: 100%;
position: absolute;
top: 0;
z-index: 100;
}
nav ul li {
}
nav li {
display: inline;
width: 100%;
}
li {
list-style-type: none;
width: 100%;
padding: 5px;
}
#hero-image {
width: 100vw;
height: 100vh;
margin: 0;
padding: 0;
z-index: -1;
position: relative;
}
<nav id="top-nav">
<ul class="nav-list">
<li class="nav-item">Home</li>
<li class="nav-item">Course Catalog</li>
<li class="nav-item">Products & Services</li>
<li class="nav-item">About</li>
<li class="nav-item">Contact</li>
</ul>
</nav>
<img id="hero-image" src="https://res.cloudinary.com/spacecatind/image/upload/v1568288870/The%20Line%2C%20LLC/tower-sunset_qtqa0q.jpg"></img>
推荐阅读
- c# - 不需要的 mysql 日志以获取过程定义
- python - 如何为 WhatsApp 的 .crypt12 格式生成页眉和页脚?
- sql - 列“Book.ISBN”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中
- maven - 仅当它是发行版时才发布 Gradle
- ios - 呈现文本时,“1/2”的出现变为“½”(粗俗分数的二分之一),我该如何防止呢?
- powershell - 通过 PowerShell 使用 REST API 创建 JIRA 问题
- vbscript - Access-Control-Allow-Origin 到域本身。可以吗?
- python - 有没有办法将“字符串数组”设置为函数中参数的类型?
- c++ - 如何从代码中打开最大文件?
- c# - 异步调用多个 WebService