火次果
火次果

暂无菜单项

首页/文章/技术文章/web前端/HTML5/
打开 MD 链接

背景视频盖住导航栏:层级为什么失效

发布于 9小时前
2

全屏背景视频加上之后,顶部导航栏点不动。视觉上导航在上层,实际指针命中了视频。多数情况是样式没有生效,而不是层级数值不够。

电脑屏幕上显示的代码
层级与指针命中是两件独立的事

先查语法

样式表里某条声明缺少分号、括号不配对时,从出错位置开始往后的声明会被丢弃。层级声明恰好排在后面时就会失效,导航因此落到视频之下。

层级生效的前提

  • 元素必须有定位,静态定位元素上的层级不参与比较。
  • 比较只在同一个堆叠上下文内进行,跨上下文比较无效。
  • 父级若创建了新的上下文,子元素的数值再大也只在父级内部生效。

结构

.bg-video {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -1;
}
.site-nav { position: fixed; top: 0; z-index: 10; }

背景视频取负值时位于根元素背景之上、内容之下,导航保持正值即可压住。

还有一层:指针穿透

视频不需要交互时关闭指针事件,指针事件直接落到下层,不再依赖层级比较。

排查顺序

  1. 在计算样式面板确认层级声明是否被解析,被划掉即为语法问题。
  2. 确认元素带有定位声明。
  3. 确认两者处在同一堆叠上下文。
  4. 给视频关闭指针事件,排除命中问题。

常见问题(FAQ)

层级数值很大仍被压住?
先确认声明是否被语法错误丢弃,再确认两者是否在同一堆叠上下文。
静态定位元素上的层级有用吗?
无效,需要先把元素设为相对、绝对或固定定位。
背景视频该取什么层级?
取负值,位于内容之下且仍在页面背景之上。
视频不需要交互怎么处理最省事?
关闭指针事件,指针直接落到下层内容。
父级创建堆叠上下文会有影响吗?
会,子元素的层级只在父级内部参与比较。
支持作者
如果这篇内容对你有帮助,可以请作者喝杯咖啡
0 点赞
0 收藏
分享
0 讨论
反馈
0 / 600
细中粗
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
所有的成功,都源自一个勇敢的开始
创作
社区
购物
会员
近期热门

暂无数据

火次果
火次果
首页
资迅中心
小店
AI导航
社区
所有的成功,都源自一个勇敢的开始
不辜负每一个勇敢的开始
关于FAQ协议
火次果 © 2026