本文详解如何使用纯 css(无需 javascript)实现顶部文字栏 + 底部自适应图像的全屏布局,确保图像在任意屏幕尺寸下垂直填满、不溢出、不拉伸失真,并始终维持原始宽高比。
在构建全屏 Web 应用(如数字标牌、Kiosk 展示页或沉浸式画廊)时,常需将页面划分为固定比例的区域:例如顶部 8% 显示标题/标语,底部 92% 全幅展示图像。关键挑战在于——图像必须严格约束在容器内,既不能裁剪(cover),也不能留白(contain 但未居中),同时必须保持原始比例,且适配所有设备尺寸。
你最初的尝试已接近正确:使用 position: absolute 划分区域,并为 设置 object-fit: cover; width: 100%; height: 100%。但问题正出在这里:width: 100%; height: 100% 会强制拉伸图像以填满整个容器,彻底破坏比例;而单纯 object-fit: contain 若未配合合理的尺寸控制与容器对齐策略,图像可能过小、偏移,甚至因父容器未启用弹性布局而无法居中。
✅ 正确解法的核心在于 三层协同控制:
确保图像至少撑满容器高度(优先满足垂直填满需求);以下是优化后的完整代码(已精简冗余样式,增强可维护性):
Super Site
An awesome quote will go here!
@@##@@
? 关键注意事项:
此方案完全基于现代 CSS,无 JS 依赖,兼容 Chrome/Firefox/Safari/Edge(≥IE11 需额外测试 object-fit 支持),是构建可靠全屏媒体展示页的推荐实践。