【前端-css:position】

前端-css:position:relative,absolute,fixed,static,sticky

.divb{
left: 100px;
top: 100px;
}
//此时改变left、top的值,div是不会发生变化的。因为此时默认定位是position:staic,即没有定位,意味着div不知道根据谁去定位

1、position:relative;

相对定位,相对于自己本身在正常文档流中的位置1进行定位,相对它原来的位置。

(1)、不加定位(即:position:static)的div:

.divb{
		//(不写:即默认static)
	}

不加position的div(即默认static)自己在浏览器里有一个位置
不加position的div
不加position(即默认static)的多个div默认垂直排列
在这里插入图片描述

(2)、加上relative定位的div

.divb{}
.div1,.div2,.div3{
        //1、(不写:即默认static)
        //2、position:static;
		//3、position:relative;
}

加了position:relation的多个div依旧默认垂直排列,和之前效果相同
在这里插入图片描述
再加上距离–3个div不同的移动

.div1{
		position: relative;
		left: 10px;
}
.div2{
		position: relative;
		top:-10px;
}
.div3{
		position: relative;
		right: 10px;	
}

此时从图中可以看出:relation–相对移动是相对它之前最初开始的位置,此时可以重叠
在这里插入图片描述

2、position:absolute;

绝对定位,相对于最近一级定位不为static的父元素进行定位。(子决父相)

(1)、父级div-不加定位(即:position:staic),子级div加上position:absolute;

.divb{}
div1{
		position: relative;
		left: 10px;
}
.div2{
		position: relative;
		top:-10px;
}
.div3{
		position: relative;
		right: 10px;	
}

在这里插入图片描述
此时父级div没有定位,absolute,让子级div根据更上一个父级body进行定位

(2)、父级div-加相对或绝对定位:(即:position:relative;/position:absolute),子级div加上position:absolute

.divb{
        position: relative;
}
div1{
		position: relative;
		left: 10px;
}
.div2{
		position: relative;
		top:-10px;
}
.div3{
		position: relative;
		right: 10px;	
}

在这里插入图片描述
此时父级div有定位,absolute,让子级div根据父级div进行定位,此时可以重叠

3、position:fixed;

固定定位,(老版本IE不支持)生成绝对定位,相对于浏览器窗口或者frame进行定位 跟父元素没关系。不随着滚动条的滚动而移动。固定在浏览器可视窗口的位置
补充:子级div的定位缺少横轴或纵轴的定位的话,自己div会继承父子的定位()

.divb{
		margin-left: 100px;
}
.div1{
		position: fixed;
		/* left: inherit; */
		top:10px;
}
.div2{
		position: fixed;
		top:0px;
		left: 30px;
.div3{
		position: fixed;
		left: 0px;
		top: 30px;
}

在这里插入图片描述
子级div1继承父级的margin-left

4、position:static;

默认值,代表没有定位,元素出现在正常的文档流中。相当none 没有定位的意思。没有边偏移我们几乎不用

5、position:sticky;

粘性定位,基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

总结

最常用:
position:relation; --相对定位-----相对于-------自己最开始的位置— ----定位----,可以实现重叠
position:absolute; --绝对定位------绝对于–最近非static的父级的位置—定位----,可以实现重叠


  1. 无论有没有给元素一个position(默认自带:positon:static),元素出生时自带一个位置。 ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值