绝对定位和相对定位的一些特性
position:absolute/fixed优先级最高,有他们在时,float不起作用
postion与display:使用定位属性时,元素的display变成了inline-block,宽度从100%变成了auto
postion与z-index:后者必须在定位属性下才会有效
position与overflow:当父元素使用了overflow且没有定位属性时,如果子元素是绝对定位且宽度或高度大于父元素,则oveflow会无效,如果想让父元素能限制子元素的溢出,则父元素必须使用相对定位
一、绝对定位
绝定对位是相当于最近一个具有定位属性的元素(postion不能为static)来进行偏移,如果没有找到这个元素,则以body作为偏移的基准,绝对定位后会随着页面的滚动而滚动。
绝对定位在块级元素上使用和行内元素上使用时有一些比较特殊的地方。
- 块级元素使用绝对定位
1.块级元素在定位前没有指定的宽度的话,默认是100%,但是定位以后宽度变成了auto
2.定位后如果没有指定top或left,此块级元素还是会占据原来的空间
<html>
<head><meta charset="UTF-8"><title></title><style>*{margin: 0;padding:0;}body{position: relative;}.box1,.box2,.box3{/*没有设置宽度*/height: 100px;}.box1{background: red;}.box2{background: orange;position: absolute;padding-left: 50px;}.box3{background: gray;}</style>
</head>
<body><div class="box1">我是第一行</div><div class="box2">我是第二行,用了绝对定位了</div><div class="box3">我是第三行</div>
</body>
</html>
- 行内元素使用绝对定位
行内元素使用绝对定位后,变成了display:block,可以设置宽高及上下外边距<html> <head><meta charset="UTF-8"><title></title><style> *{margin: 0;padding:0; } body{position: relative; } .box1,.box2,.box3{width: 100px;height: 100px; } .box1{background: red; } .box2{background: orange;position: absolute;left: 5px;margin-top: 50px;top: 10px;width: 200px; } .box3{background: gray; }</style> </head> <body><span class="box1">我是第一行</span><span class="box2">我是第二行,绝对定位</span><span class="box3">我是第三行</span> </body> </html>
- 二、相对定位
相对定位不会脱离文档流,偏移的参照物是自身,偏移后元素原来的空间还是会被占据。
如果父元素使用了overflow,而子元素使用了绝对定位且宽高超过容器时,父元素的overflow会无效,此时如果想限制子元素的溢出,必须给父元素加上相对定位<html> <head><meta charset="UTF-8"><title></title><style>.box{overflow: hidden;width: 50px;height: 50px;border: 1px solid gold;}.son{position: absolute;width:200px;height: 200px;border: 1px solid gray;}</style> </head> <body><div class="box"><div class="son">我是绝对定位</div></div><div class="box" style="position: relative"><div class="son">我是绝对定位,父元素用了相对定位</div></div> </body> </html>
当后面的元素盖住了前面的元素时,如果前面的加素加上postion:relative则可以反过来盖住后面的元素。
<html> <head><meta charset="UTF-8"><title></title><style>.son{width:100px;height: 100px;border: 1px solid gray;}</style> </head> <body><img class="son" style="background-color:red;"></img><img class="son" style="background-color:gold;margin-left:-50px;"></img> </body> </html>
前面的元素使用postion:relative前后对比图
更多专业前端知识,请上 【猿2048】www.mk2048.com
绝对定位和相对定位的一些特性相关推荐
- css导航栏固定顶部两种情况,及绝对定位,相对定位,固定定位和粘性定位的特性及区别
绝对定位,相对定位,固定定位和粘性定位的特性及区别,我整理一下放在文章最下面了,不用死记硬背,理解一下就ok,需要的话可以看看. 当导航栏头部没有别的模块时,想要滑动过程中导航栏一直在顶部,有两种写法 ...
- css怎么使元素绝对定位有过度效果_小猿圈web前端讲解div+css绝对定位和相对定位...
最近很多网友问我绝对定位和相对定位怎么区分,怎么使用?绝对是什么地方的绝对,相对又是相对于什么地方而言的呢?那他们又有什么样的特性,可以做出什么样的效果呢?关于两者之间又有什么样的技巧呢?下面小猿圈w ...
- css中的定位以及绝对定位和相对定位的区别
一:绝对定位 (position: absolute) 绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素).如果元素没有已定位的祖先元素,那么它的位置则是 ...
- CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 固定定位 绝 ...
- FX5u控制4个伺服,一个完整的项目 回原点、JOG手动、绝对定位、相对定位、控制等部分
FX5u控制4个伺服,一个完整的项目 程序用 标签分层,说明了定位控制中的公共参数设定.回原点.JOG手动.绝对定位.相对定位.控制等部分,威纶程序报警界面.多个机种选择,手动,自动,暂停,包括有: ...
- dw css定位,css关于position属性的用法详解(绝对定位和相对定位的混淆)
挺久没用,有点忘了关于position这个属性的用法,导致在练手的时候又犯了跟最开始新手才会犯的错误,那就是absolute和relative的用法. 在此首先看一下官方对这两个属性值的解释: pos ...
- 绝对定位和相对定位的研究
绝对定位和相对定位的研究 现象: 研究jsp页面元素的绝对定位.相对定位.静态定位 定位属性: 首先看下 position 属性的设置 static :无特殊定位 relative:相对定位 abso ...
- Java-绝对地址与相对地址/绝对定位与相对定位
Q:绝对地址与相对地址?绝对定位与相对定位? A:绝对地址:形如http://www.windstudio.net/index.htm或file://d:/homepage/index.htm这样的地 ...
- CSS 绝对定位与相对定位
前几天遇到了上班的第一个难题,项目想要实现这样的效果: 一开始我天真地以为只要设置边框加上圆圈的图片就可以了,然而按这种方法实际上实现的效果是这样的: 实际效果比视觉图上下多了两截... 但是,聪明如 ...
最新文章
- LVS/HAProxy/Nginx负载均衡对比
- 俱乐部又多了一个MVP
- Qt 加载QML 文件的几种方式
- IOS开发基础之使用AFNetworking框架实现文件上传get和post请求
- shell判定一个变量等于-n_Shell test命令:条件判断,检查某条件是否成立
- 计算机管理员相关知识,计算机管理员述职报告范文
- 【英语学习】【Level 07】U08 Old Stories L2 A good read
- iOS 状态栏 修改为白色字体的步骤
- JVM学习笔记(三)------内存管理和垃圾回收【转】
- Adobe Premiere基础-声音调整(音量矫正,降噪,电话音,音高换挡器,参数均衡器)(十八)
- 手机拍的视频后期怎么处理?视频大神的后期技巧,Vlog大片也能做
- MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
- 信息安全软考——关于DES初始置换表解答题
- ML_12 Sum-Produkt Networks 和积网络
- .so文件移动游戏破解范例
- xp计算机u盘重装系统,处理a豆电脑u盘重装系统xp步骤
- ROS基础四之roscpp/rospy节点编写
- 京瓷1800打印机扫描步骤_京瓷1800操作指南
- IOS 跨域问题分析和处理
- 常见26种NLP任务的练手项目
热门文章
- QQ空间对图片的处理之仿QQ长图预览
- Etherum私有链搭建
- .net mysql transactionscope_使用Transaction访问数据库(C#,TransactionScope,.NET 2.0)
- 基于Springboot+Mybatis+mysql+vue宠物领养网站1.0
- static静态代码块
- 静态代码块和非静态代码块的区别
- C语言:对从键盘输入的整数进行求和(scanf( )的高级用法)
- redolog和binlog 刷盘参数
- 针对 MySQL/InnoDB 刷盘调优
- hadoop生态圈面试精华之Hadoop基础