绝对定位VS相对定位 postion:absolute relative
绝对定位VS相对定位对比维度relative相对定位absolute绝对定位参考点往哪移参照物是自己原本在文档流中的位置即它没移动前本该在的地方。参照物是最近的那个position值不为static默认值的祖先元素。如果往上找都找不到则相对于浏览器视口body。是否脱离文档流不脱离。它原来的物理空间坑位被牢牢霸占着周围元素无法挤占。完全脱离。它原来的坑位立刻消失周围元素会无视它直接补位上来这会导致父元素高度塌陷。对兄弟元素影响移动它top/left不会影响周围元素的位置周围元素不动它盖在别人上面。移动它会影响周围元素因为坑位没了周围元素重新排列。典型使用场景1. 微调元素位置比如图标上移 2px。2.作为absolute子元素的“锚点”父级设relative子级设absolute。1. 弹窗、下拉菜单、悬浮按钮。2. 在父容器内进行自由拖拽定位。场景假设 HTML 中有三个兄弟盒子A、B、C都是纵向排列。场景 Arelative给 B 设置position: relative; top: 20px;。B往下移动了 20px视觉上压住了 C。但 B原来的空白坑位依然保留所以 C 不会往上移动依然被堵在 B 的原始位置下方。结果就是 B 和 C 重叠了。场景 Babsolute给 B 设置position: absolute; top: 20px;。B彻底消失了脱离文档流。原来的坑位没了C会立刻往上窜填补 B 的位置。如果父容器只有 A、B、C 三个子元素父容器的高度会瞬间失去 B 的支撑变为 0 这就是高度塌陷浮动和绝对定位都会引发塌陷。使用注意“子绝父相”的原理我们通常给父元素加position: relative;且不设置偏移量top/left目的不是为了移动父元素而是单纯地让父元素成为一个“定位锚点”让子元素的absolute局限在父盒子内部活动。例子:!DOCTYPE html html head meta charsetutf-8 title菜鸟教程(runoob.com)/title style /style /head body !-- 父元素设 relative作为约束盒子 -- div styleposition: relative; width: 300px; height: 200px; background: #eee; !-- 子元素设 absolute相对于父元素的左上角定位 -- div styleposition: absolute; right: 10px; bottom: 10px; width: 50px; height: 50px; background: red; 我在右下角 /div /div /body /html# 注意绝对定位的“隐藏规则”定位属性top/bottom/left/right默认值是auto。而auto并不代表是 0auto的官方解释其他三个right top bottom的解释也是如此。也就是说如果一个元素设置了绝对定位postion:absolute,并且没有设置left以及right中的任意一个此时left及right默认值为auto,那么auto的水平方向具体位置则是元素没有设置postion:absolute时的位置即是定位为默认值positon:static时的位置。垂直方向上同理。但是当父元素为display:flex弹性盒子时此时的位置有所不同见下文示例!DOCTYPE html html head meta charsetutf-8 title/title /head style .grandparent { width: 600px; height: 600px; background: antiquewhite; } .parent { width: 300px; height: 300px; background: aquamarine; float: right; } .son1 { width: 200px; height: 200px; background: cornflowerblue; } .son2 { width: 200px; height: 200px; background: fuchsia; position: absolute; } /style body div classgrandparent div classparent div classson1/div div classson2/div /div /div /body /html特殊情况当父元素.parent为弹性盒子display:flex时子元素.son2设置为position:absoluetop bottom left right为默认auto时.son2的位置会发生变化。演示给.parent加上displayflex!DOCTYPE html html head meta charsetutf-8 title/title /head style .grandparent { width: 1000px; height: 600px; background: red; } .parent { width: 600px; height: 300px; background: aquamarine; float: right; display: flex; } .son1 { width: 200px; height: 200px; background: cornflowerblue; } .son2 { width: 200px; height: 200px; background: fuchsia; } /style body div classgrandparent div classparent div classson1/div div classson2/div /div /div /body /html运行效果同样给.son2加上position:absolute效果如下按照之前的“绝对定位的隐藏规则”因为没有设置top/bottom/right/left,默认值为auto,所以即使.son2加上postion:absolute位置仍然是没有加时position:static默认的位置不会发生变化如上图。 但是实际运行效果如下原因针对父元素为弹性盒子display:flexcss规范中指出了子元素为postion:absolute时在计算静态位置时会忽略同级元素的存在。css规范链接https://drafts.csswg.org/css-flexbox/#abspos-items

相关新闻

从零构建情境化AI应用:基于本地大模型与提示词工程的沉浸式交互实践

从零构建情境化AI应用:基于本地大模型与提示词工程的沉浸式交互实践

最近在AI圈子里,一个名为“可灵AI”的项目发布了一则神秘的“地点预告”,引发了开发者和技术爱好者的广泛讨论。这种将AI模型与特定地点、场景或游戏化元素结合的预告方式,不仅是一种新颖的营销策略,更可能预示着AI应用正朝着更具…

2026/11/2 15:35:28 阅读更多 →
SGLang源码深度解析:从编译执行到RadixAttention的推理优化实践

SGLang源码深度解析:从编译执行到RadixAttention的推理优化实践

1. 项目概述:为什么我们要深入SGLang的“引擎舱”?最近在折腾大模型推理部署的朋友,估计没少听人提起SGLang这个名字。它不像vLLM、TGI那样早已名声在外,但凭借着一手针对复杂提示词场景(比如多轮对话、思维链、函数调…

2026/11/2 15:35:04 阅读更多 →
构建工业级作弊检测系统:从特征工程到实时风控的实战指南

构建工业级作弊检测系统:从特征工程到实时风控的实战指南

1. 项目概述:从“猫鼠游戏”到系统性工程“Cheating Detection”,作弊检测,听起来像是一个充满对抗性的技术话题。在游戏行业干了十几年,我见过太多开发者与作弊者之间你来我往的“猫鼠游戏”。这绝不仅仅是写几行代码判断玩家数据…

2026/10/25 16:33:45 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/2 0:25:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/2 10:46:11 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/2 10:47:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/2 1:16:51 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/2 10:46:31 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/2 10:46:26 阅读更多 →

日新闻

周新闻

月新闻