问题遇到的现象和发生背景
设置两个盒子,使用子绝父相和transform(translate)使子元素在父元素水平垂直居中后再使用缩放,缩放的默认点会失效。
缩放默认为元素中心点,在上述情况下缩放的默认中心点会向右下偏移。
试验后发现translate的值会影响缩放的中心点位置,只在translate中添加X轴的值缩放则会向右边偏移,只添加Y轴的话则会向下方偏移。
translate里值的大小也会影响缩放原点的位置。
这个是什么原因?
设置两个盒子,使用子绝父相和transform(translate)使子元素在父元素水平垂直居中后再使用缩放,缩放的默认点会失效。
缩放默认为元素中心点,在上述情况下缩放的默认中心点会向右下偏移。
试验后发现translate的值会影响缩放的中心点位置,只在translate中添加X轴的值缩放则会向右边偏移,只添加Y轴的话则会向下方偏移。
translate里值的大小也会影响缩放原点的位置。
这个是什么原因?
个人感觉 它的transform是链式的 新的变换会在上一步的基础上进行,要解决的话可以试试先缩放再translate
// 这两个写法的最终效果是不一样的
transform: translate(10px, 10px) scale(1.5);
transform: scale(1.5) translate(10px, 10px);