CSS中 定位position 和 transform 移动元素的比较

本文探讨了CSS中使用position和transform移动元素的区别。虽然两者都能实现元素移动,但transform在性能上优于position,因为它不会改变元素原始位置,避免了浏览器的重绘和布局调整,尤其在动画效果中更为高效。建议优先考虑使用transform进行元素移动。
摘要由CSDN通过智能技术生成

主要解决问题:

在使用 transform: translate(50%,50%); 平移元素后,再用 offsetLeftoffsetTop 获取该元素距离 body 左侧距离时,无法获取经 translate 移动的部分,显示为 0

答:translate属性不会改变元素原始位置。


讨论对象

position

CSS中我们想要改变一个元素的位置,我们可以采用的方法之一就是定位,这也是我们最先接触的方法。其主要用法就是给需要移动的元素的父元素或以上添加 position:relative; 再给自身添加 position:absolute; 然后通过改变方位(top,left,right,bottom)来实现元素的移动。

transform

CSS3中提供了transform属性,其中的translateX和translateY值可以实现元素的横向与纵向移动。

区别和选择

既然在已有移动功能存在的情况,为何CSS3需要新增一个transform属性呢?请大家看下面这个demo

<style
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值