我在为我的一个网站开发 onHover 缩放效果时遇到了这个问题。
当您为 CSS 伪状态设置了过渡持续时间时,设置 zoom 属性将缩放 onHover 元素,但是一旦它达到最大尺寸,它就会缩小到更小的尺寸(但这个尺寸仍然比原始尺寸大) .
但是,当使用x-transform: scale()具有相同过渡的属性时,项目会平滑缩放(并保持其中心坐标,我可能会补充)。
你可以在这个 fiddle 中看到这一点。红色框向右下方生长,但随后跳回较小的尺寸,而蓝色框则平滑地生长并保持完整尺寸。
为什么是这样?
*
{
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
}
box:hover
{
zoom: 1.1;
}
box2:hover
{
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
Run Code Online (Sandbox Code Playgroud)