relative absolute float 定位总结

本文详细解析了CSS中的三种定位方式:relative、absolute及float的特点与应用。relative使元素相对自身位置偏移但仍占据原有空间;absolute则使元素完全脱离文档流,依据最近的已定位祖先元素定位;float使元素脱离文档流并向左或右移动,周围元素会围绕其显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)relative:脱离文档流,但保留占位符,其偏移位置是相对于本身在正常文档流中时的位置

图解:

<div style="width:100%; height:500px; background:pink;">
			<div style="width:200px; height:100px; position:relative; left:100px; top:50px; background:brown;"></div>
			<div style="width:200px; height:100px; background:gray;"></div>
		</div>
正常位置: 设置relative属性后的位置:


注释:脱离文档流是说设置了relative属性之后,元素不在z-index:0;的正常文档流中,其z-index的值>0,但保留占位符,就是在正常文档流中位置保留着,后继元素不能占位,然后相对于本身正常位置的左部以及顶部进行偏移(left,top),right跟bottom就是相对于本身正常位置的右部以及底部进行偏移,这个读者可以自行试验。


2)absolute:完全脱离文档流,不保留占位符,其元素定位是相对于其父级及以上一直追溯至设置了position:relative或absolute或fixed属性的外层元素(包含块),如果其外层元素均未设置position属性,则定位是相对于HTML文档进行的绝对定位,并不是相对于body的定位。

注释:并不会相对于浮动元素定位,并且浮动元素若不设置position属性,其位置只能是尽可能的往左贴或往右贴

<div style="width:100%; height:500px; background:pink;">
			<div style="width:800px; height:400px; position:relative; left:200px; top:100px; background:brown;">
				<div style="width:500px; height:200px; background:gray; float:right;">
					<div style="width:200px; height:100px; background:blue;position:absolute; left:100px; top:100px;"></div>
				</div>
			</div>
		</div>
特意将gray背景的div设置向右浮动,蓝色div是相对于棕色div绝对定位的。

图解:



3)float:浮动元素不占任何正常文档流空间,而浮动元素的定位还是基于正常的文档流,然后从文档流中抽出并尽可能远的移动至左侧或者右侧,文字内容会环绕在浮动元素周围,当一个元素从正常的文档流中抽出后,仍然在文档流中的其他元素将忽略该元素并填补它原先的空间。--摘抄至网友评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值