悬停时的CSS动画-完成后暂停

时间:2018-12-04 16:15:17

标签: css css-animations

我在图像上有一个div,我想使用css动画将其位置从图像的顶部更改为底部(通过悬停触发),并在动画结束后将其新值保留在底部(我尝试不使用jQuery)。

因此,目前,我在悬停时和不在暂停时都运行动画。并带有animation-fill-mode:可以正常工作,唯一的是我必须保持悬停才能完成动画。我的代码:

 <div class="home-posts-section">
        <div class="home-posts-top-content">
            <img src="images/worldmap.jpg" >
                <div class="uael-post__content-wrap">
                    <h1>some content</h1>
                        <p>some more content</p>
                </div>
        </div>
    </div>


   .home-posts-top-content{
width:400px;
height:400px;
position:relative;
z-index:1;
}

.home-posts-top-content img{
width:100%;
height:100%;
}

.uael-post__content-wrap{
    width:90%;
    margin:0 auto;
    ;
    background-color: rgba(255,255,255,0.9);
    position:absolute;
    top:25px;
}



.home-posts-section .home-posts-top-content .uael-post__content-wrap{
 -webkit-animation: scroll_to_bottom 2s; /* Safari, Chrome and Opera > 12.1 */
-moz-animation: scroll_to_bottom 2s; /* Firefox < 16 */
-ms-animation: scroll_to_bottom 2s; /* Internet Explorer */
 -o-animation: scroll_to_bottom 2s; /* Opera < 12.1 */
animation: scroll_to_bottom 2s;
   -webkit-animation-play-state:paused;
-webkit-animation-fill-mode: forwards;
}

.home-posts-section .home-posts-top-content .uael-post__content-wrap:hover{
     -webkit-animation-play-state:running;  

}


@keyframes scroll_to_top {
    from { top: 258px; }
    to   { top: 25px; }
    }

/* Firefox < 16 */
@-moz-keyframes scroll_to_top {
    from { top: 258px; }
    to   { top: 25px; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes scroll_to_top {
    from { top: 258px; }
    to   { top: 25px; }
}

我正在尝试寻找一种方法,使div更改其在悬停时的位置并停留在那里。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用houve css来更新div的位置,例如此示例

.uael-post__content-wrap:hover{
  //do what ever you want 
}