gpt4 book ai didi

html - 如何使背景图像连续水平滚动而不中断动画?

转载 作者:太空狗 更新时间:2023-10-29 13:46:17 29 4
gpt4 key购买 nike

我正在尝试制作一个使用 css3 动画无限横向滚动的横幅。问题是动画结束后重新启动时会出现刺耳的声音。我正在尝试弄清楚如何防止这种刺耳的动画。

我已经把我的代码放在这里了。

@keyframes slideleft {
from{background-position: right;}
to {background-position: left;}
}

@-webkit-keyframes slideleft {
from{background-position: right;}
to {background-position: left;}
}

#masthead {
background-image: url('http://static.communitytable.parade.com/wp-content/uploads/2014/06/dogs-in-world-cup-jerseys-ftr.jpg');
animation: slideleft 5s infinite ease-in-out;
-webkit-animation: slideleft 5s infinite ease-in-out;
width: 100%;
height: 1200px;
}
<div id="masthead"></div>

最佳答案

JavaScript 可能是处理此问题的更好方法。尽管在 CSS 中,您可以重复背景图像并将背景位置和动画持续时间延长到一个非常高的数字。这是一个 fiddle .

@keyframes slideleft {
from { background-position: 0%; }
to { background-position: 90000%; }
}

#masthead {
background-repeat: repeat-x;
...
animation: slideleft 600s infinite linear;
}

如果您使用的是 jQuery,那将相当简单:

(function animateBG() {
$('#masthead').animate({
backgroundPosition: '+=5'
}, 12, animateBG);
})();

@keyframes slideleft {
from { background-position: 0%; }
to { background-position: 90000%; }
}

#masthead {
background-image: url('/image/TE4UI.jpg');
background-repeat: repeat-x;
animation: slideleft 600s infinite linear;
-webkit-animation: slideleft 600s infinite linear;
width: 100%;
height: 1200px;
}
<div id="masthead"></div>

关于html - 如何使背景图像连续水平滚动而不中断动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405250/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com