css - 使 CSS 动画在离开可见屏幕后停止

标签 css css-animations

使用 css 动画,我有一个从屏幕左侧移动到右侧的对象。但是,我注意到动画在退出屏幕右侧后实际上仍在继续,这会导致出现 Chrome 水平滚动条。

如果向右滚动,它只会显示动画对象不再移动和白色背景屏幕。

如何在动画离开可视屏幕后立即终止动画?

可以在这里看到实际的动画。 http://crea8tion.com/ChristmasMessage/index.html

对象的CSS代码是

.santa {
    width: 1000px;
    position: absolute;
    top: -14%;
    left: -55%;
    -webkit-animation: santa-move 1s 1s ease-out forwards;
    -webkit-animation-delay:5s;animation-delay:5s;                   
    -webkit-animation-duration: 25s;
}

@-webkit-keyframes santa-move {
    100% { left: 100%;}
} 

最佳答案

有一种简单的方法可以删除这个额外的滚动条。

您可以添加一个简单的 overlay: hidden 到父 div。在你的情况下:

.columns {
    overflow: hidden;
}

在这种情况下,圣诞老人动画不再添加水平滚动条。

关于css - 使 CSS 动画在离开可见屏幕后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473853/

相关文章:

css - IE 上的类删除时触发关键帧动画 (10, 11,12, 13)

javascript - 滚动到另一个元素后从头开始动画

html - 通过字体按钮将内联导航栏压缩为下拉 block 导航

html - 具有 float 元素的 CSS 中心站点并显示完整的容器背景颜色

css - 管理独立的 CSS 文件和 Bootstrap

html - 我的微调器旋转时如何居中 - CSS 动画

javascript - 反向平滑 CSS 动画

jquery - css3 动画导致视差部分出现问题

css - 这可能吗?使用 CSS (Stylus) 迭代@keyframes

css - 100% 高度和宽度 Div "absolute positioned"吃掉了我的页脚?