css animation 鼠标移入暂停会抖动

在这里插入图片描述
如图 实现一个赞助商横向滚动列表墙,
上下两排向右滚动,中间向左滚动,鼠标移入暂停当前行。

实现:

// 使用animation

.moving {
    animation: move 20s linear infinite;
}

@keyframes move {
    0% {
    }
    100% {
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
}
  }


.moving2 {
    animation: move2 20s linear infinite;
    -webkit-animation: move2 20s linear infinite;
}
  @keyframes move2 {
    0% {
}
    100% {
        transform: translateX(50%);
        -webkit-transform: translateX(50%);
        -moz-transform: translateX(50%);
        -ms-transform: translateX(50%);
        -o-transform: translateX(50%);
}
  }

原来想的是 使用addClass 和removeClass进行moving属性添加移除,从而达到鼠标移入暂停的效果,但是实现的时候发现每次鼠标移入,列表图片都会向左右抖动一下,并不美观。

.moving: hover {
	animation: paused; // 同样存在这个问题,但是没之前那么明显了
}

最终解决:

.moving:hover {
    animation-play-state:paused;
}
// 特别流畅,不会出现抖动,效果实现

总结:
css animation-play-state 属性

暂停动画:

animation-play-state:paused;
-webkit-animation-play-state:paused; /* Safari 和 Chrome */



// paused	指定暂停动画	 
// running	指定正在运行的动画

// Internet Explorer 9 以及更早的版本不支持 animation-play-state 属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值