以下是实现页面顶部和底部固定、中间内容自适应的几种常见方法,附代码示例和适用场景分析:


方法一:Flexbox 弹性布局

<body style="margin:0; min-height:100vh; display:flex; flex-direction:column;"><header style="height:60px; background:#ccc;">顶部固定</header><main style="flex:1; overflow-y:auto;">中间自适应内容</main><footer style="height:40px; background:#eee;">底部固定</footer>
</body>

特点

  • 现代浏览器首选方案
  • 中间区域自动填充剩余空间
  • 支持中间内容独立滚动

方法二:CSS Grid 网格布局

<body style="margin:0; height:100vh; display:grid; grid-template-rows:60px 1fr 40px;"><header style="background:#ccc;">顶部固定</header><main style="overflow-y:auto;">中间自适应内容</main><footer style="background:#eee;">底部固定</footer>
</body>

特点

  • 二维布局能力更强
  • 代码简洁直观
  • 适合复杂布局场景

方法三:绝对定位

<body style="margin:0;"><header style="position:fixed; top:0; width:100%; height:60px; background:#ccc;">顶部固定</header><main style="margin:60px 0 40px; height:calc(100vh - 100px); overflow-y:auto;">中间自适应内容</main><footer style="position:fixed; bottom:0; width:100%; height:40px; background:#eee;">底部固定</footer>
</body>

特点

  • 兼容性最好(支持IE8+)
  • 需要手动计算高度
  • 注意设置中间区域的外边距

方法四:Viewport单位 + Calc

<style>header { height:10vh; background:#ccc; }footer { height:8vh; background:#eee; }main { height: calc(100vh - 18vh); overflow-y: auto;}
</style><header>顶部固定</header>
<main>中间自适应内容</main>
<footer>底部固定</footer>

特点

  • 响应式布局友好
  • 需注意移动端浏览器地址栏的影响
  • 建议配合媒体查询使用

关键注意事项:

  1. 滚动处理:中间区域建议添加 overflow-y: auto 实现独立滚动
  2. 高度计算:使用 100vh 时需考虑移动端浏览器地址栏的显示/隐藏
  3. 层级问题:固定定位元素需设置 z-index 防止内容覆盖
  4. 内容溢出:中间区域内容较多时需设置合理的滚动策略
  5. 浏览器兼容:Flexbox/Grid 方案需考虑目标浏览器支持情况

根据项目需求选择方案:

  • 现代项目推荐 FlexboxGrid
  • 需要兼容旧浏览器时选择 绝对定位
  • 响应式项目可尝试 Viewport单位 方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95818.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95818.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95818.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彻底拆解 CSS accent-color:一个属性,省下一堆“重造轮子”的苦工

我有一支技术全面、经验丰富的小型团队&#xff0c;专注高效交付中等规模外包项目&#xff0c;有需要外包项目的可以联系我既要原生控件、又要品牌配色&#xff0c;还不想伪造组件&#xff1f;能不能讲透 accent-color。下面给出一版尽量“到骨头里”的解析&#xff1b;对讨厌从…

在选择iOS代签服务前,你必须了解的三大安全风险

选iOS代签服务&#xff1f;这三个安全坑千万别踩&#xff01;关于iOS代签那些你可能忽略的安全风险。多少次因为测试设备限制、紧急分发或者企业账号年费肉疼&#xff0c;我们不得不考虑第三方代签服务&#xff1f;但这里头的水&#xff0c;比想象中深。风险一&#xff1a;证书…

GitHub 热榜项目 - 日榜(2025-09-04)

GitHub 热榜项目 - 日榜(2025-09-04) 生成于&#xff1a;2025-09-04 统计摘要 共发现热门项目&#xff1a;20 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub热榜呈现三大技术热点&#xff1a;AI智能体开发、架构工程化和开发者工具革新。JetBrains Koog、DeepC…

在 vue-vben-admin(v5 版本)中,使用 ECharts 图表(豆包版)

在 vue-vben-admin&#xff08;v5版本&#xff09;中&#xff0c;使用 ECharts 图表的方式已通过框架封装的 vben/plugins/echarts 模块简化&#xff0c;结合官方示例&#xff0c;具体使用步骤如下&#xff1a; 1. 核心组件与工具导入 框架提供了封装后的 EchartsUI 组件&#…

本地 Ai 离线视频去水印字幕!支持字幕、动静态水印去除!

这款功能强大的AI视频处理工具&#xff0c;能够有效地去除视频中的静态水印、动态水印以及字幕。 针对不同类型的水印和字幕&#xff0c;提供了多种去除方式&#xff0c;操作简单&#xff0c;效果显著。 首先【打开视频】&#xff0c;然后在识别模式里面选择识别模式&#xf…

1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)

电脑里装了N个网盘客户端&#xff1a;百度网盘存工作文件、阿里云盘放家庭照片、夸克网盘塞学习资料&#xff0c;还有迅雷、天翼云盘散落在各处——每次找文件要在5个软件间反复切换&#xff0c;手动转存10个文件得点几十次鼠标&#xff0c;网盘多了反倒成了“数字负担”。直到…

2025-09-04 CSS2——常见选择器

文章目录1 元素选择器2 id 选择器3 class 选择器4 通用选择器5 子元素选择器6 后代选择器7 相邻兄弟选择器8 后续兄弟选择器9 伪类选择器10 伪元素选择器11 属性选择器11.1 [attribute]11.2 [attribute"value"]11.3 [attribute~"value"]与[attribute*"…

计算机网络:概述层---OSI参考模型

&#x1f310; OSI七层参考模型详解&#xff1a;从物理层到应用层的完整剖析 &#x1f4c5; 更新时间&#xff1a;2025年9月3日 &#x1f3f7;️ 标签&#xff1a;OSI模型 | 网络协议 | 七层模型 | 计算机网络 | 网络架构 | 协议栈 | 王道考研 摘要: 本文将用最通俗易懂的语言&…

JVM相关 2|Java 垃圾回收机制(GC算法、GC收集器如G1、CMS)的必会知识点汇总

目录&#xff1a;&#x1f9e0; 一、GC基础概念1. 什么是垃圾回收&#xff08;Garbage Collection, GC&#xff09;&#xff1f;2. 判断对象是否为垃圾的方法&#x1f9e9; 二、GC核心算法1. 标记-清除算法&#xff08;Mark-Sweep&#xff09;2. 标记-整理算法&#xff08;Mark…

04 - 【HTML】- 常用标签(下篇)

表格标签 1 表格 table 在HTML中&#xff0c;表格是通过<table>标签来创建的&#xff0c;它允许在html中以行和列的形式组织数据。HTML提供了一套完整的标签来创建功能丰富的表格。 2 表格的 结构 3 表格table代码结构 4 表格结构解析 <thead></thead>&…

nVisual从入门到精通—应用实例

五、应用实例 5.1 数据中心的规划设计 5.1.1 规划设计流程5.1.2 创建模型库 5.1.2.1 设备模型库 设备模型库基于组织内实际使用的设备型号进行构建&#xff0c;主要包含以下对象类型&#xff1a;机柜、网络设备、板卡、组合模型。 设备属性字段&#xff1a;除系统保留字段&…

代码可读性的详细入门

&#x1f3e0;个人主页&#xff1a;尘觉主页 文章目录前言一、可读性的重要性二、用名字表达代码含义三、避免名字歧义四、良好的代码风格五、注释的价值六、如何编写注释七、提高控制流的可读性八、拆分长表达式九、变量与可读性十、抽取函数十一、一次只做一件事十二、用自然…

轮轨法向接触斑计算

轮轨法向接触斑计算 &#xff0c;同时输出 接触斑面积、长轴 a、短轴 b、最大 Hertz 压力 pmax 等关键指标 算法基于 Hertz 接触理论&#xff08;适用于单点椭圆接触&#xff09;&#xff0c;并给出如何扩展到 非 Hertz / 有限元验证的提示。1 理论回顾&#xff08;Hertz 椭圆…

实习结束,秋招开启

大家好&#xff0c;依旧是你们的老朋友仰望-星空~~&#xff0c;我又消失了3个月&#xff0c;快四个月了&#x1f604;&#xff0c;不少文章都 落灰了。这段时间其实一直在忙着找实习&#xff0c;然后准备面试题、刷算法、做项目啥的&#xff0c;也是比较忙碌的&#xff0c;也就…

14 C++ STL 容器实战:stack/list 模拟实现指南 + priority_queue 用法及避坑技巧

stack和queuestack的模拟实现和应用--底层就是顺序表从栈的接口中可以看出&#xff0c;栈实际是一种特殊的vector&#xff0c;因此使用vector完全可以模拟实现stack。#include<vector> namespace Stack { template<class T> class stack { public:stack() {}void p…

Linux基础指令(入门必备2.0)

创作初心&#xff1a;在加深个人对知识系统理解的同时希望可以帮助到更多需要的同学 &#x1f604;柯一梦的专栏系列 &#x1f680;柯一梦的Gitee主页 &#x1f6e0;️柯一梦主页详情 座右铭&#xff1a;心向深耕&#xff0c;不问阶序&#xff1b;汗沃其根&#xff0c;花自满枝…

《失落之魂》M站评分仅40?国产动作类游戏究竟何去何从?

前段时间频频预热的国产动作游戏《失落之魂》已正式发售&#xff0c;外媒Push Square发布了该作的阶段性评测。评测指出&#xff0c;尽管《失落之魂》在规模上已接近3A级&#xff0c;但能感受到其独立制作的根基。这款游戏于2016年通过索尼“中国之星计划”获得支持&#xff0c…

一个专为地图制图和数据可视化设计的在线配色网站,可以助你制作漂亮的地图!

ColorBrewer 是一个专为地图制图和数据可视化设计的在线配色工具&#xff0c;由宾夕法尼亚州立大学地理学教授 Cynthia Brewer 及其团队开发 。 它提供了科学、美观且考虑周全的配色方案&#xff0c;旨在帮助用户&#xff08;无论是科研人员、设计师还是GIS分析师&#xff09;…

Python图像处理基础(十六)

Python图像处理基础(十六) 文章目录 Python图像处理基础(十六) 10、图像增强和滤镜 10.1 ImageEnhance 10.1.1 亮度 10.1.2 对比度 10.1.3 颜色 10.1.4 清晰度 10.2 ImageFilter 10.3 预定义滤镜 10.4 参数化滤镜 10.4.1 模糊函数 10.4.2 反锐化蒙版 10.4.3 排序和平均滤波…

python中等难度面试题(1)

1、请解释Python中的深拷贝(deep copy)和浅拷贝(shallow copy)的区别&#xff0c;并举例说明它们在实际应用中可能引发的问题。 答&#xff1a; 在Python中&#xff0c;拷贝对象通常指的是创建一个新的对象&#xff0c;这个新对象是原始对象的一个副本。拷贝可以分为两种类型&a…