如何解决网页中后续区块始终覆盖首区块的布局问题

6次阅读

如何解决网页中后续区块始终覆盖首区块的布局问题

本文详解因 `position: fixed` 误用导致内容层叠、无法正常滚动显示的问题,通过重构定位策略(改用 `absolute` + `z-index` + `100vh` 分节)实现清晰分页式布局,并提供可直接运行的完整代码方案。

在构建产品落地页(如旅行 agency 网站)时,一个常见却隐蔽的布局陷阱是:后续

始终“悬浮”在首屏内容上方,无法随滚动自然呈现

。从你提供的代码可见,问题根源在于 .container 类被错误地设为 position: fixed:

.container {position: fixed;  /* ❌ 关键错误:强制脱离文档流,固定于视口坐标 */   top: 38%;   left: 32%;   text-align: center;}

该声明使 .container(含

Why fly with us?

A travel agency like ours offers a one-stop solution for all your travel needs.

Check out these deals!

⚠️ 注意事项

  • 移除全局 body {height: 100%}:它会压制文档自然高度,导致滚动失效;改为 min-height: 100vh 或直接删除(由 section 的 100vh 驱动高度)。
  • 导航栏需设 z-index > 1:确保其始终位于所有 section 之上(示例中设为 1000)。
  • 移动端适配:在媒体查询中调整 font-size 和 padding,避免小屏文字溢出。
  • 无障碍访问:为 .fixed 元素添加 aria-hidden=”true” 并配合 inert 属性(或 JS 动态控制),防止屏幕阅读器读取非当前屏内容。

此方案既保持视觉上的分屏沉浸感,又符合语义化 HTML 结构,彻底解决“后区块覆盖前区块”的顽疾。

text=ZqhQzanResources