CSS按位置还是按变换移动元素?

Nic*_*ckC 2 javascript css css-transitions

显示我使用绝对位置或变换<div>在页面上移动 a吗?

我似乎记得使用位置阅读移动物体,例如:

dialog.style.bottom = "100px";
Run Code Online (Sandbox Code Playgroud)

速度较慢,最好使用变换来移动对象:

dialog.style.transform = "translateY(100px);
Run Code Online (Sandbox Code Playgroud)

但是,因为我也有一个 CSS 过渡:

transition: 2s
Run Code Online (Sandbox Code Playgroud)

这有什么区别吗,转换仍然优先于位置还是现在它们都相同?

Pra*_*man 5

如果您想要动画,请使用transform以下命令移动它:

dialog.style.transform = "translateY(100px)";
Run Code Online (Sandbox Code Playgroud)
#dialog {transform: translateY(50px); transition: all 2s;}
Run Code Online (Sandbox Code Playgroud)
<div id="dialog">Hello</div>
Run Code Online (Sandbox Code Playgroud)

另请阅读为什么使用 Translate() 移动元素比 Pos:abs Top/left 更好

  • 是的,但是为什么?应该解释一下,无论如何,这里是:https://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/ (2认同)