CSS-Learning | CSS中的定位模型:绝对定位、相对定位、固定定位和浮动(如何清除浮动)

本文介绍了CSS中的定位模型,包括相对定位、绝对定位、固定定位和浮动。相对定位通过top、right等属性平移元素但保留原有空间。绝对定位将元素移出文档流,根据最近定位祖先进行定位。固定定位基于视口定位,常用于创建固定位置元素。浮动元素可左右移动,导致其他元素环绕,通过clear属性可以避免环绕。最后,讨论了如何清除浮动以解决浮动元素导致的父元素高度塌陷问题。

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

定位模型

CSS中有几种不同的定位模型,包括浮动绝对定位相对定位固定定位。除非特别指定,否则所有元素盒子都会在常规文档流中生成,即positioin属性的默认值为static。常规文档流中元素盒子的位置,由元素在HTML中的位置决定。

确定元素的包含块至关重要,定位模型不同,计算width、height、margin或padding值为百分比时,计算依据会发生变化。接下来,我们来看看不同定位模型以及与之对应的包含块。

相对定位 position: relative

使用相对定位,可以通过设置top、right、bottom和left属性,使该元素相对于它在常规文档流的初始位置平移一段距离。

无论是否位移,相对定位的元素仍然会在文档流中占用初始的空间。因此,这样平移元素会导致它遮挡其他元素。

绝对定位 position: absolute

绝对定位会把元素拿出文档流,因此不会占用原来的空间,文档中的其他元素会各自重新定位,仿佛绝对定位的那个元素没有存在过一样。

绝对定位元素的包含块是距离它最近的定位祖先,也就是display属性设置为static之外的任意值的祖先元素。如果没有这么一个定位祖先,那么它就相对于文档的根元素即html元素定位。文档的根元素也叫做起始包含块

固定定位 position: fixed

固定定位元素的包含块是视口(viewport)。因此固定定位可用于来创建始终停留在窗口相同位置的浮动元素。

浮动 float

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值