CSS绝对定位与相对定位
CSS绝对定位与相对定位
CSS绝对定位与相对定位一、绝对定位
凡是采用position: absolute;后,对象便开始进行绝对定位,绝对定位主要通过设置对象的top、right、bottom和left四个方向的边距值来实现。一旦对象被设置绝对定位,它就完全脱离了文档流与浮动模型,独立于其他对象而存在。
例如
#a, #b, #c, #d {
background-color: #000FFF;
border: 2px solid #00FFFF;
width: 100px;
height: 100px;
margin: 2px 2px 2px 0px;
float: left;
}
#b {
position: absolute;
top: 80px;
left: 100px;
}
#d {
position: absolute;
top:80px;
left: 210px;
}
这时,b和d元素的位置由top值(上边距)及left值(左边距)而决定,他们已经脱离了a和c的浮动而自成一体,浮动在画面之上。
二、深度(z-index)
由于b和d元素的位置由自身的边距而决定,因此会出现一个问题,即元素的重叠。这种情况下,可以通过设置对象的z-index属性,以设置其重叠的先后顺序,也就是z轴的顺序。
例如
#b {
position: absolute;
top: 80px;
left: 100px;
z-index: 1;
}
#d {
position: absolute;
top: 70px;
left: 160px;
z-index: 0;
}
一开始没有设置z-index属性时,d元素位于b元素之上。当使用z-index属性后,可以重新设置他们的z轴顺序。
注:以z-index的数值大小为准,大值对象的层级位于小值对象之上。
三、相对定位
实际上,相对定位就是浮动定位与绝对定位的扩展方式。相对定位使得被设置元素保持与其原始位置相对,并不破坏其原始位置的信息。position: relative;
不占位的相对定位
当对象采用position: relative;时,该对象虽然进行了相对定位,但其原始的占位信息还存在于文档流及浮动对象中。要想做到绝对定位那样,完全独立于其他对象,自身又可以做到相对定位,可以通过一组定位组合。
例如
<li id="liGroup">
<li id="a">a</li>
<li id="b">b</li>
<li id="c">c</li>
<li id="d">d</li>
</li>
#liGroup {
margin: 50px 0 0 50px;
position: relative;
border: 1px solid #000000;
width: 400px;
height: 200px;
}
#a, #b, #c, #d {
background-color: #eeeeee;
border: 2px solid #aaaaaa;
width: 100px;
height: 100px;
margin: 2px 2px 2px 0px;
float: left;
}
#b {
position: absolute;
left: 10px;
top: 30px;
}
此时,b已经视线里相对定位,而且没有占有空间,c和d也都顺移到a的右边。之所以能够实现这样的效果,就在于相对定位与绝对定位的组合。在这里,对付对象liGroup设定position: relative;的绝对定位,但没有设定它的top及left值,所以liGroup仍然可以当做浮动对象使用。同时,将b对象的定位方式由position: relative;改为position: absolute;绝对定位,尽管改为了绝对定位了,但由于其父级是相对定位,所以这里的绝对定位就变成了相对于父级的绝对,而不是针对浏览器进行绝对定位。
- background-position详细讲解(background-position百分比原理详解)
- background-position的使用
- position零基础入门(position:sticky 粘性定位的几种巧妙应用详解)
- css定位属性position的值的含义(css position fixed 左右双定位的实现代码)
- css中position用法(详解CSS中position属性介绍新增sticky)
- 判断手机浏览器是否支持position:fixed
- vue3 composition api用法(vue3中provide和inject的使用)
- css position详解(深究CSS定位position的常用技法)
- css定位布局讲解(css position定位属性_动力节点Java学院整理)
- CSS中Position 的用法
- cssfloat和position功能(理解CSS浮动float、定位position)
- css的position属性的属性值(浅谈CSS中的 object-fit 与 object-position的使用)
- 小程序数字化怎么布局(用position:sticky完美解决小程序吸顶问题的实现方法)
- css中的浮动和定位是啥(CSS的position定位和float浮动详解)
- 移动端web页面使用position:fixed
- Jquery中的offset()和position()的区别
- 《无敌破坏王2》 不聊彩蛋,聊聊我从动画里看到的现实那些事儿(无敌破坏王2不聊彩蛋)
- 《寄生虫》 三观不正 人类悲欢从来不相通,感同身受也并非本能(寄生虫三观不正)
- 这部动漫中的女孩子,可比101女孩更加励志(这部动漫中的女孩子)
- 《白狐的人生》热拍 贾征宇偶像包袱难自弃 图(白狐的人生热拍)
- 七夕取消了,牛郎织女没做核酸七夕已经取消(牛郎织女没做核酸七夕已经取消)
- 网友抵制 多地取消 夏日祭 为何惹众怒(网友抵制多地取消)
热门推荐
- vue 表格数据增加修改(vue element实现表格增加删除修改数据)
- sqlserver存储过程使用变量(浅析SQL Server的嵌套存储过程中使用同名的临时表怪像)
- laravel怎么查询信息过滤(laravel多条件查询方法and,or嵌套查询)
- docker自动执行镜像(docker实现重新打tag并删除原tag的镜像)
- mysql有哪些约束(MySQL完整性约束的定义与实例教程)
- laravel5.1获取数据(laravel5表单唯一验证的实例代码)
- 在谷歌浏览器中直接编辑网页
- python技巧图解(Python魔法方法功能与用法简介)
- jquery中使用detach 移除元素
- 移动端web字体
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9