不依赖relative的绝对定位absolute

本文介绍了一种新的CSS绝对定位方法,即无依赖绝对定位,它不需要relative定位的祖先元素即可工作。文章详细解释了如何仅使用margin或transform属性来控制元素的位置,并探讨了这种方法的相对特性、不受overflow:hidden影响的特点及应用场景。

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

在没有深入了解absolute之前,我在使用absolute定位属性的时候,一直都是会给父元素或者祖先元素设置position:relative定位属性,以及设置absolute定位元素的top/right/bottom/left的方向值,有的时候甚至设置层级关系的z-index属性值。

我们对于上述absolute属性的认知和使用其实是不正确的,它是可以不依赖relative进行使用,可以理解为无依赖的绝对定位

absolute属性是独立的css属性值,其样式和行为表现可以不依赖其他任何css属性完成。

1、简单定义

给元素设置absolute定位属性,不通过top/right/bottom/left去控制元素位置,而是通过margin或者transform来控制。

2、相对特性

我们通常熟知的一个元素使用了absolute绝对定位的话,它是相对于static定位以外的第一个祖先元素进行定位的。

无依赖的绝对定位相对的参考点和我们通常熟知的绝对定位的参考点不一样,它是相对其自身在页面中的位置。

2.1、先看如下的一个需求,在图片的左上角放置一个new的图标,和慕课网的课程列表类似:


2.2、HTML结构如下


2.3、我们常规绝对定位的做法


2.4、无依赖绝对定位的做法


3、不受overflow:hidden的影响

使用无依赖绝对定位的元素是不受父元素overflow:hidden的影响,不会被剪裁。

4、应用场景

4.1、导航图标定位


关键的HTML结构和CSS样式如下所示:


4.2、搜索框的下拉列表


关键的HTML结构和CSS样式如下所示:


4.3、表单错误提示语


关键的HTML结构和CSS样式如下所示:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值