You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sticky Header滚动消失问题:保留footer固定的解决方法咨询

解决Sticky Header消失与Footer固定的冲突问题

直接把html, body的height: 100%替换为min-height: 100%即可,这样既能保留flexbox实现的底部固定footer,又能让sticky header正常工作。

修改后的CSS代码:

html,
body {
  min-height: 100%; /* 替换原来的height:100% */
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 0%;
}

header {
  position: sticky;
  top: 0;
  background: white; /* 建议添加背景色,避免滚动时被内容覆盖 */
}   

原理说明:

  • 原来的height:100%会把body高度固定在视口高度,当内容超出时,滚动发生在body内部,但sticky元素是相对于最近的可滚动祖先生效,此时body作为flex容器高度被限制,导致header无法在滚动时保持粘性。
  • 使用min-height:100%后,body的高度至少是视口高度,当内容超过视口时,body会自动扩展高度,滚动发生在整个文档上,header的sticky定位就能基于视口正常工作,同时flex:1的main区域仍会自动填充空间,让footer固定在页面底部。

内容的提问来源于stack exchange,提问作者Meek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:32:42