DOM结构错位导致z-index失效:检查Elements面板中节点缩进是否跳级、同级元素是否被浏览器移出原容器、非法子元素(如ul内p)或未闭合标签引发的树形错乱。

Elements面板里怎么一眼看出层级被遮挡是结构问题还是CSS问题
遮挡不是样式写错了,而是DOM树本身嵌套错位导致的z-index失效或父容器意外截断。打开DevTools切到Elements面板,重点看三点:节点缩进是否突兀跳级、同级元素是否被浏览器强行移出原父容器、某个
展开后内部突然出现本不该在那里的祖先节点(比如footer出现在header里)。如果看到
- 下面直接挂着
- 用
document.querySelectorAll('ul > p')快速扫一遍有没有非法直系子元素 - 检查
table结构时,右键→Edit as HTML改个空格,如果整个tr消失或错位,说明原始嵌套已失真 -
ul里用p做列表项?改用li+display: flex更安全 - 用VS Code装
Auto Close Tag插件,敲<p>回车就自动补<code>,漏了立刻可见
- 保存时跑
tidy-html5命令,它会报missing这类错误,Prettier做不到 - W3C Validator报
end tag for element p omitted时,别只修最后一行,往前翻三屏找开标签 - 先确保
、、都完整闭合,否则fixed行为不可靠 - 避免在
fixed元素内部写复杂嵌套,尤其别在里面放table或ul——结构一乱,fixed就失效 - 真机调试时打开
visualViewportAPI观察高度变化,比单纯读window.innerHeight更准
,或者
文章来自机圈观察员网,发布者:,转载请注明出处:https://www.jqgcy.com/shoujipingce/123906.html