css透明元素如何遮挡住fixed元素
如图,导航栏是透明的元素,这个列表position设置成了fixed,脱离了文档流。
层级关系:导航栏的层级高于列表的层级。
如何让这个列表被导航栏遮住?除了下面这种改成纯色的方案,还有什么思路吗?
------------------还是贴一下代码吧----------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
body {
background: rgb(16, 137, 62);
}
nav {
width: 100%;
height: 40px;
padding: 5px;
position: relative;
background: rgba(0, 0, 0, .15);
z-index: 1;
}
ul {
color: #fff;
width: 120px;
background: rgba(0, 0, 0, .1);
padding: 4px 0;
position: fixed;
top: 6px;
left: 120px;
z-index: 0;
}
ul li {
list-style: none;
text-align: center;
margin: 8px 0;
}
</style>
</head>
<body>
<nav></nav>
<ul>
<li>测试项目1</li>
<li>测试项目2</li>
<li>测试项目3</li>
<li>测试项目4</li>
<li>测试项目5</li>
</ul>
</body>
</html>
效果:
--------补充GIF,类似这样的效果,不过它的导航栏是纯色的,所以没什么问题------------------
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
nav写多一层,一个div颜色跟body bg一样,另一哥div用来写黑色透明,两个叠在一起。
@liny 这种方案不错,确实可行,改了一下代码