css五种定位总结

在 CSS 中,定位(Positioning)主要有五种模式,每种模式的行为和特点不同,以下是 staticrelativeabsolutefixedsticky 五种定位方式的对比总结:

1. static(默认定位)

  • 特性 : static 是元素的默认定位方式。元素会按照正常的文档流进行排列。
  • 影响 : 不受 topbottomleftright 属性的影响。
  • 使用场景: 默认状态下不需要特殊定位时使用。

2. relative(相对定位)

  • 特性: 相对自身原本位置进行定位。
  • 影响 : 元素仍然占据原本文档流中的位置,但通过 topbottomleftright 移动其可视位置。
  • 使用场景: 需要稍微调整元素位置,同时保留其在文档流中的位置。

3. absolute(绝对定位)

  • 特性 : 依据最近的非 static 祖先元素(如果没有则相对于 body)进行定位。
  • 影响 : 元素从文档流中移除,不再占据原本的位置。可以通过 topbottomleftright 进行精确定位。
  • 使用场景: 需要完全脱离文档流,并相对其容器进行精确定位时使用。

4. fixed(固定定位)

  • 特性: 相对于浏览器窗口(视口)进行定位。
  • 影响 : 元素脱离文档流,并且在页面滚动时位置保持不变。可以通过 topbottomleftright 进行定位。
  • 使用场景: 固定在屏幕某一位置的导航栏或按钮等场景。

5. sticky(粘性定位)

  • 特性 : 根据滚动位置切换 relativefixed 定位的混合模式。元素在视口范围内时表现为 relative 定位,滚动超出阈值时转换为 fixed 定位。
  • 影响 : 可以通过 topbottomleftright 进行定位,元素在特定的滚动位置"粘住"。
  • 使用场景: 需要在页面滚动时让元素保持可见一段时间,常用于表头、侧边栏等。

总结对比

相关推荐
芭拉拉小魔仙2 小时前
企业级Vue项目的状态管理:从原理到实战架构
前端·vue.js·架构
恋猫de小郭2 小时前
丰田正在使用 Flutter 开发游戏引擎 Fluorite
android·前端·flutter
扶苏10023 小时前
Vue 3 响应式原理深度解析
前端·javascript·vue.js
NEXT063 小时前
React 性能优化:图片懒加载
前端·react.js·面试
PineappleCoder3 小时前
别让字体拖了后腿:FOIT/FOUT 深度解析与字体加载优化全攻略
前端·性能优化
NEXT064 小时前
后端跑路了怎么办?前端工程师用 Mock.js 自救实录
前端·后端·程序员
装不满的克莱因瓶5 小时前
Java7新特性:try-with-resources写法
java·前端·javascript·jdk·新特性·jdk7
SailingCoder6 小时前
【 从“打补丁“到“换思路“ 】一次企业级 AI Agent 的架构拐点
大数据·前端·人工智能·面试·架构·agent
~央千澈~6 小时前
抖音弹幕游戏开发之第12集:添加冷却时间机制·优雅草云桧·卓伊凡
java·服务器·前端
CappuccinoRose6 小时前
CSS 语法学习文档(十三)
前端·css·学习·postcss·模块化·预处理器