position 不该作为 HTML5 布局主力,因其导致脱离文档流、父容器塌陷、响应失效;应限于悬浮按钮、下拉菜单、tooltip 等局部定位;现代布局首选 Grid 和 Flexbox。
用
做 HTML5 布局不是推荐做法,尤其在现代响应式开发中,它容易导致脱离文档流、重叠不可控、响应失效等问题。
为什么
不该当布局主力
它把元素从正常流中“拿走”,后续元素会无视它的存在,父容器高度塌陷;一旦需要适配不同屏幕或动态内容,
/
值很快失效。常见错误现象包括:导航栏盖住正文、滚动时定位元素错位、移动端按钮消失。
父容器必须设
才能约束子元素的定位参考点
在无层叠上下文时无效,常被误以为“没生效”
和
混用可能触发新层叠上下文,意外遮挡其他元素
真正该用在哪几个地方
它适合局部微调、装饰性定位或固定功能区,而非整页结构。比如悬浮返回顶部按钮、下拉菜单浮层、tooltip 提示框。
固定页脚:
,但需预留底部空间避免内容被遮挡
模态框遮罩层:
图标右上角徽标:
,且父元素设
替代
布局的现代方案
CSS Grid 和 Flexbox 能完成绝大多数传统“
绝对定位
拼图”任务,且天然支持响应式、自动对齐、内容驱动尺寸。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
立即学习
“
前端免费学习笔记(深入)
”;
三栏布局:用
,比
+
组合更稳定
垂直居中
卡片:用
,无需计算
圣杯布局(双侧边栏+主内容):Grid 的
可读性远高于定位嵌套
真正难的不是写对
,而是判断什么时候不该用它——多数所谓“定位布局需求”,其实是缺乏对 Grid 轨道定义或 Flex 主轴理解导致的惯性依赖。
positionposition: absolutetopleftposition: relativez-indextransformpositionposition: fixed; bottom: 0;position: fixed; top: 0; left: 0; width: 100%; height: 100%;position: absolute; top: -6px; right: -6px;position: relativepositiondisplay: grid; grid-template-columns: 200px 1fr 200px;positionmargindisplay: flex; align-items: center; justify-content: center;top: 50%; transform: translateY(-50%)grid-template-areasposition