嵌套标签的z-index问题
例如下列代码:
<nav>
<div id="name"></div>
<div id="category"></div>
</nav>
<div id="bg"></div>
其中,设置nav的z-index为700,设置黑色背景#bg的z-index为800
因为响应式设计,在小屏幕上,就会有:
#category {
position:fixed;
top:0;
left:0;
z-index:900
}
希望的效果是#bg会遮挡nav,但#category会浮在#bg之上
实际测试中,发现#category还是会被#bg遮挡
请教一下,有没有方法可以解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以考虑换个结构。或者说nav不设置
z-index
,只是设置position
为非static
,然后你里边的category设置的z-index
比bg的要大就好了。上边的你的失效是因为当
z-index
设置了整数的值的时候,就会创新新的层叠上下文,然后不管他的孩子设置z-index
多高,都会受他控制。可见http://blog.aijc.net/css/2014/08/06/CSS%20%E5%8F%AF%E8%A7%86%E5%8C%96%E6%A0%BC%E5%BC%8F%E6%A8%A1%E5%9E%8B%EF%BC%88Visual%20formatting%20model%EF%BC%89/ 关于z-index部分
父子、兄弟元素的z-index问题
http://www.cnblogs.com/dolphinX/p/3262469.html
这篇文章有比较全面的总结
嵌套元素,z-index遵循祖先优先的原则。nav不设置z-index即可