html - 从那里离开光标时如何避免背景动画回到它的初始点?

标签 html css animation hover

悬停时,此 div 的背景图像开始播放动画。但是当你把光标移开时,它会回到它的初始点。我怎样才能让它停留在悬停时停止的位置?

div {
  width:100%;
  height:200px;
  background:indigo;
  background-image:url('https://abrilexame.files.wordpress.com/2016/11/aurora_borealis_i.jpg?quality=70&strip=info')
}

div:hover {
  -webkit-animation: backgroundScroll 5s ease 1;
  -webkit-animation-fill-mode: forwards;
  animation: backgroundScroll 5s ease 1;
  animation-fill-mode: forwards;
}


@keyframes backgroundScroll {
    from {background-position: 0 0;}
    to {background-position:0px -180px ;}
}

@-webkit-keyframes backgroundScroll {
    from {background-position: 0 0;}
    to {background-position:0px -180px ;}
}
<div>

</div>

最佳答案

将动画设置为基础状态,播放状态暂停。

悬停时,将其设置为运行

div {
  width:100%;
  height:200px;
  background:indigo;
  background-image:url('https://abrilexame.files.wordpress.com/2016/11/aurora_borealis_i.jpg?quality=70&strip=info');
  animation: backgroundScroll 5s ease 1;
  animation-play-state: paused;
  animation-fill-mode: forwards;
}

div:hover {
  -webkit-animation: backgroundScroll 5s ease 1;
  -webkit-animation-fill-mode: forwards;
  animation-play-state: running;
}


@keyframes backgroundScroll {
    from {background-position: 0 0;}
    to {background-position:0px -180px ;}
}

@-webkit-keyframes backgroundScroll {
    from {background-position: 0 0;}
    to {background-position:0px -180px ;}
}
<div>

</div>

关于html - 从那里离开光标时如何避免背景动画回到它的初始点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442542/

相关文章:

javascript - 使用 JS mousemove 性能更改 CSS 属性

php - Bootstrap 面板未扩展

javascript - 使用 Javascript 创建 HTML5 Canvas 游戏 - Bug Smasher

css - Bootstrap CSS 不断重新缩放我的自托管视频

javascript - 在 CSS Foundation Framework 的表格中垂直居中按钮?

html - 仅使用 CSS 使一个 div 在另一个上滑动

HTML/CSS 元素不适合/按需要对齐页面

javascript - 悬停时删除 div

html - Flex 框在本应是行的情况下呈现为列

安卓动画问题