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中Position 的用法
- css中的浮动和定位是啥(CSS的position定位和float浮动详解)
- css position详解(深究CSS定位position的常用技法)
- css中position用法(详解CSS中position属性介绍新增sticky)
- vue3 composition api用法(vue3中provide和inject的使用)
- position零基础入门(position:sticky 粘性定位的几种巧妙应用详解)
- css的position属性的属性值(浅谈CSS中的 object-fit 与 object-position的使用)
- 移动端web页面使用position:fixed
- background-position详细讲解(background-position百分比原理详解)
- 小程序数字化怎么布局(用position:sticky完美解决小程序吸顶问题的实现方法)
- cssfloat和position功能(理解CSS浮动float、定位position)
- Jquery中的offset()和position()的区别
- css定位属性position的值的含义(css position fixed 左右双定位的实现代码)
- 判断手机浏览器是否支持position:fixed
- background-position的使用
- css定位布局讲解(css position定位属性_动力节点Java学院整理)
- 车友的选择| 轮毂该如何选(车友的选择轮毂该如何选)
- 秦海璐炫耀和王新军热恋蜜事,不料对方吐槽她吃饱后肚子撅老高(秦海璐炫耀和王新军热恋蜜事)
- 秦海璐一袭旗袍惹人倾心,将高级与淡雅展现的游刃有余(秦海璐一袭旗袍惹人倾心)
- 门外之见 海蛎子味 的表演,能走多远(门外之见海蛎子味)
- 三部冷门谍战剧,第一部2014年拍摄,至今还未播出(三部冷门谍战剧)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
热门推荐
- sqlserverdate格式比较(sqlserver之datepart和datediff应用查找当天上午和下午的数据)
- dedecms标签怎么调用(dedecms首页调用随机文章及自动更新功能实例)
- mpp数据库的客户端工具(xampp默认mysql数据库root密码的修改)
- python比go语言简单(Python和Go语言的区别总结)
- html一行两列布局代码(CSS实现页面两列布局与三列布局的方法示例)
- vue找不到水印设置(Vue使用自定义指令实现页面底部加水印)
- mysql清空数据库所有表格(MySQL用truncate命令快速清空一个数据库中的所有表)
- mysql发生系统错误(MySQL too many connections错误的原因及解决)
- 参加笔试前需要做哪些准备
- php函数使用教程讲解学习交流(浅谈PHP中的Trait使用方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9