主要解决问题:
在使用 transform: translate(50%,50%);
平移元素后,再用 offsetLeft
和offsetTop
获取该元素距离 body 左侧距离时,无法获取经 translate 移动的部分,显示为 0
答:translate属性不会改变元素原始位置。
讨论对象
position
CSS中我们想要改变一个元素的位置,我们可以采用的方法之一就是定位,这也是我们最先接触的方法。其主要用法就是给需要移动的元素的父元素或以上添加 position:relative; 再给自身添加 position:absolute; 然后通过改变方位(top,left,right,bottom)来实现元素的移动。
transform
CSS3中提供了transform属性,其中的translateX和translateY值可以实现元素的横向与纵向移动。
区别和选择
既然在已有移动功能存在的情况,为何CSS3需要新增一个transform属性呢?请大家看下面这个demo
<style