html5 - CSS中translate和position: relative设置的偏移有什么区别?
大家讲道理
大家讲道理 2017-04-17 11:03:55
0
2
1095

position: relative;也是相对自己当前位置。 transform: translate(x,y);也是相对于当前位置偏移吧? 有什么区别呢?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
阿神

从页面布局的角度看

transformposition:relative 的效果是一样的。

差别在于,transform 可以简单地作用于 position:absolute 的元素上面,而 position:relative; 还得加额外的 html


从动画角度来说

使用 transformposition 实现动画效果时是有很大差别。

使用 transform 时,可以让 GPU 参与运算,动画的 FPS 更高。

使用 position 时,最小的动画变化的单位是 1px,而使用 transform 参与时,可以做到更小(动画效果更加平滑)

参考资料: Paul Irish 的 Why Moving Elements With Translate() Is Better Than Pos:abs Top/left


总结

  • position 是为页面布局而生的。
  • transform 是为动画而生的。
巴扎黑

功能都一样。但是translate不会引起浏览器的重绘和重排,这就相当nice了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!