当前位置: 首页 > news >正文

CSS相对定位与绝对定位

在网页设计里,相对定位(Relative Positioning)和绝对定位(Absolute Positioning)是 CSS(层叠样式表)里控制元素位置的关键手段。下面为你详细讲解它们的概念、特点与应用场景。

相对定位

概念

相对定位是指元素相对于其正常位置进行定位。也就是说,元素首先会按照标准文档流进行布局,占据相应的空间,之后再依据 toprightbottom 和 left 属性对其位置进行微调。

特点
  • 保留文档流位置:元素进行相对定位时,会在文档流里保留其原本的位置,不会对其他元素的布局产生影响。
  • 偏移参考toprightbottom 和 left 属性的值是相对于元素的正常位置而言的。例如,设置 top: 10px 会使元素相对于其正常位置向下移动 10 像素。
  • 图片原本占据的空间依然保留。
  • 应用场景
  • 微调元素位置:当需要对元素的位置进行小幅度调整时,相对定位是个不错的选择。
  • 创建元素的位移效果:可以结合 CSS 动画,使元素在相对位置上产生位移动画。

绝对定位

概念

绝对定位是指元素相对于最近的已定位祖先元素(即 position 属性值不为 static 的祖先元素)进行定位。如果没有已定位的祖先元素,则相对于文档的初始包含块(通常是 <html> 元素)进行定位。

特点

综上所述,相对定位适用于对元素位置进行微调,而绝对定位则适用于创建脱离文档流的布局和特殊的定位效果。在实际应用中,需要根据具体需求选择合适的定位方式。

  • 脱离文档流:元素进行绝对定位后,会脱离标准文档流,不再占据原本的空间,可能会覆盖其他元素。
  • 偏移参考toprightbottom 和 left 属性的值是相对于最近的已定位祖先元素的边界而言的。
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=, initial-scale=1.0"><title>Document</title><style>*{margin: 0;padding: 0;}img{width: 400px;}/* 1.脱标不占位2.参照物:先找最近定位的祖先元素,如果所有祖先元素都没有定位,参照浏览器可视区3.显示模式特点改变:宽高生效(具备行内快的特点)*/.news{position: relative;margin: 100px auto;width: 400px;height: 350px;background-color: #f8f8f8;}.news span{top: 0;right: 0;position: absolute;display: block;width: 92px;height: 32px;background-color: rgba(0, 0, 0, 0.6);text-align: center;line-height: 32px;color: #fff;}</style>
    </head>
    <body><div class="news"><img src="./images/news.jpg" alt=""><span>展会活动</span><h4>2222世界移动大会</h4></div>
    </body>
    </html>
    应用场景
  • 创建弹出框和菜单:可以将弹出框或菜单元素绝对定位到触发元素附近。
  • 实现元素的重叠效果:通过绝对定位,使元素重叠显示,创建特殊的视觉效果。

  •  
http://www.xdnf.cn/news/344035.html

相关文章:

  • 前端基础之《Vue(15)—组件通信(2)》
  • Cut video with ffmpeg
  • 创建型模式:工厂方法(Factory Method)模式
  • 最新CDGP单选题(第四章)补充
  • 力扣智慧思想小题,目录力扣.跳跃游戏(思想很重要)力扣.跳跃游戏II(还是思想)力扣.分发糖果力扣151.反转字符串中的单词力扣.轮转数组
  • cat、more和less的区别
  • 趣味编程:答案之书
  • CSS动画
  • AI视频生成的艺术:镜头语言
  • 多模态大语言模型arxiv论文略读(六十四)
  • 算法每日一题 | 入门-分支结构-Apples Prologue/苹果和虫子
  • DevExtreme JS ASP.NET Core v25.1新功能预览 - 全新的Stepper组件
  • 《函数基本语法》
  • 标准 PVT (Process-Voltage-Temperature) 签核矩阵
  • VBA -- 学习Day2
  • Linux常用命令34——uname显示系统内核信息
  • P2415 集合求和 详解
  • idea出现tomcat不能正确部署的问题--解决方案2
  • 前端面试每日三题 - Day 28
  • OpenCV CPU性能优化
  • 【文档智能】开源的阅读顺序(Layoutreader)模型使用指南
  • 可变参数包 和 lambda表达式
  • 代码简洁之道
  • 公链钱包开发:技术逻辑与产品设计实践
  • 21、魔法传送阵——React 19 文件上传优化
  • 【Dv3Admin】Git 子模块在 Dv3admin 插件项目统一管理实践
  • SpringBoot的自动配置功能-笔记
  • 智能边缘计算系统:基于Python的创新应用
  • python3连接数据库工具类之Oracle
  • Day19 常见的特征筛选算法