正确显示在页面最上层
" />
本文详解为何固定定位的页眉()被背景图层遮挡,并提供两种可靠解决方案:移除干扰的 position: relative 或为页眉添加 z-index,确保导航栏始终可见。
本文详解为何固定定位的页眉(`
在构建响应式网站时,
根本原因在于 CSS 层叠上下文(stacking context):当 .feature(即各全屏背景 section)被显式设置为 position: relative 时,它会创建一个新的层叠上下文;而 position: fixed 的
✅ 推荐解决方案一(简洁稳妥):移除冗余定位
.feature 的 position: relative 在当前布局中并无必要(其子元素 .post-meta 已用 position: absolute 定位),直接删除即可:
.feature {
/* position: relative; ← 删除这一行 */
background-size: cover;
background-position: center;
height: 100vh;
}
✅ 推荐解决方案二(精准控制):提升页眉层级
若需保留 .feature 的相对定位(例如未来扩展动画或伪元素),则为
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
background: white; /* 建议添加背景色,避免文字与滚动内容重叠 */
z-index: 1000; /* 确保高于所有 section */
padding: 1rem 2rem; /* 可选:增加内边距提升可读性 */
}
⚠️ 额外优化建议:
- 修复锚点 ID 不一致问题:HTML 中
与导航链接 href="#join-us" 大小写不匹配(J vs j),应统一为小写 id="join-us"; - 为 fixed 页眉预留 body 顶部间距(如 padding-top: 80px),防止主内容被遮挡。
最终效果:











