Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同步CSS移动背景动画_Css_Css Animations - Fatal编程技术网

同步CSS移动背景动画

同步CSS移动背景动画,css,css-animations,Css,Css Animations,我的网站有一个从左向右移动的星形图案。 问题是,每次(至少几乎每次)动画结束时,它都会不知不觉地重新开始,但目前它只是跳到开始处,您可以看到它 编辑:我正在寻找一个CSS解决方案,没有JavaScript 代码 body { height: 100%; width: 100%; overflow: hidden; margin: 0; padding: 0; background-image:url("http://i57.tinypic.com/2hd5yzc.png");

我的网站有一个从左向右移动的星形图案。

问题是,每次(至少几乎每次)动画结束时,它都会不知不觉地重新开始,但目前它只是跳到开始处,您可以看到它

编辑:我正在寻找一个CSS解决方案,没有JavaScript


代码

body {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
    background-image:url("http://i57.tinypic.com/2hd5yzc.png");
    background-size: 600px 600px;
    background-attachment: fixed;
    background-position: 0px 0px;
    background-repeat: repeat-y-x;
    animation: moveBG 30s linear 1s infinite;
    -webkit-animation: moveBG 5s linear 1s infinite;
}

@keyframes moveBG {
    from {background-position: 0;}
    to {background-position: 798px 0;}
    }

@-webkit-keyframes moveBG {
    from {background-position: 0 0;}
    to {background-position: 798px 0;}
    }


如何使其平滑地重复背景?

图像大小为711x711px


相应地更新背景位置和背景大小。

您正在更改图像的
背景大小
,但您保留了过渡的原始宽度。将关键帧更新为
背景大小

@keyframes moveBG {
    from {background-position: 0;}
    to {background-position: 600px 0;}
    }

@-webkit-keyframes moveBG {
    from {background-position: 0 0;}
    to {background-position: 600px 0;}
    }
或者将
背景大小
更新为关键帧

body {
height: 100%;
width: 100%;
overflow: hidden;
margin: 0;
padding: 0;
    background-image:url("http://i57.tinypic.com/2hd5yzc.png");
    background-size: 798px 798px;
    background-attachment: fixed;
    background-position: 0px 0px;
    background-repeat: repeat-y-x;
    animation: moveBG 5s linear 1s infinite;
    -webkit-animation: moveBG 5s linear 1s infinite;
}

试试这个

我想你的背景尺寸要比原稿大。所以在动画中也要尽量做到同样的尺寸

background-size: 600px 600px;
和动画

@keyframes moveBG {
    from {background-position: 0;}
    to {background-position: 600px 0;}
    }

@-webkit-keyframes moveBG {
    from {background-position: 0 0;}
    to {background-position: 600px 0;}
    }

@Claudio很高兴我能帮上忙:)