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;绝对定位,尽管改为了绝对定位了,但由于其父级是相对定位,所以这里的绝对定位就变成了相对于父级的绝对,而不是针对浏览器进行绝对定位。
- css定位布局讲解(css position定位属性_动力节点Java学院整理)
- position零基础入门(position:sticky 粘性定位的几种巧妙应用详解)
- css定位属性position的值的含义(css position fixed 左右双定位的实现代码)
- CSS中Position 的用法
- 判断手机浏览器是否支持position:fixed
- background-position的使用
- css position详解(深究CSS定位position的常用技法)
- 移动端web页面使用position:fixed
- 小程序数字化怎么布局(用position:sticky完美解决小程序吸顶问题的实现方法)
- css中的浮动和定位是啥(CSS的position定位和float浮动详解)
- background-position详细讲解(background-position百分比原理详解)
- css的position属性的属性值(浅谈CSS中的 object-fit 与 object-position的使用)
- vue3 composition api用法(vue3中provide和inject的使用)
- css中position用法(详解CSS中position属性介绍新增sticky)
- Jquery中的offset()和position()的区别
- cssfloat和position功能(理解CSS浮动float、定位position)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
热门推荐
- JS脚本中Null与Undefined的区别
- 云服务器和物理服务器哪个可靠(云服务器与香港服务器有什么区别?)
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- laravel 数据库配置信息(Laravel 读取 config 下的数据方法)
- js和css哪个重要(js与css的阻塞问题详析)
- 为什么mysql主键要设置自增列(浅谈MySQL中的自增主键用完了怎么办)
- 香港云服务器优化有用吗(香港云服务器优势有哪些?)
- python如何使用yield(YII2.0框架行为Behavior深入详解)
- python处理excel基础教程第3讲(Python Excel处理库openpyxl使用详解)
- ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解(ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9