Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Javascript 如何循环CSS3填充动画?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何循环CSS3填充动画?

Javascript 如何循环CSS3填充动画?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,到目前为止,我设法使它在悬停的背景从蓝色变成红色,但我希望它循环红色对蓝色,然后蓝色对红色,然后红色对蓝色等 html 可以使用css3动画关键帧: .preloader:hover { animation: myLoop 2s ease infinite; } @keyframes myLoop{ 0%{background-position:top;} 50%{background-position:bottom;} 100%{background-pos

到目前为止,我设法使它在悬停的背景从蓝色变成红色,但我希望它循环红色对蓝色,然后蓝色对红色,然后红色对蓝色等

html


可以使用css3动画关键帧:

.preloader:hover {
    animation: myLoop 2s ease infinite;
}

@keyframes myLoop{
    0%{background-position:top;}
    50%{background-position:bottom;}
    100%{background-position:top;}
}
不要忘记供应商前缀(参见下面的js FIDLE)


您可以使用css3动画关键帧:

.preloader:hover {
    animation: myLoop 2s ease infinite;
}

@keyframes myLoop{
    0%{background-position:top;}
    50%{background-position:bottom;}
    100%{background-position:top;}
}
不要忘记供应商前缀(参见下面的js FIDLE)

我们使用了moz,因此它可以与firefox、用于chrome的WebKit、safari以及use-o配合使用,如果你想让它也与opera配合使用的话


我们使用了moz,因此它可以与firefox、WebKit for chrome、safari和use-o一起工作,如果你想让它也与opera一起工作,就像其他人所说的那样,css动画具有无限循环,但是你需要3张卡片来让每种颜色都位于下一种颜色之上,而不是上下运动

.preload{
背景:#ff0000;
高度:100px;
宽度:100px;
背景:线性梯度(
最重要的是,
红色
红色33.3333%,
蓝色33.3333%,
蓝色66.66667%,
红色66.66667%,
红色100%
);
背景尺寸:100%300%;
背景位置:顶部;
}
.预加载程序:悬停{
-webkit动画:loaderLoop 2s线性无限;
-moz动画:loaderLoop 2s线性无限;
动画:loaderLoop 2s线性无限;
}
@-webkit关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}
@-moz关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}
@关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}

像其他人所说的那样,css动画有一个无限循环,但是你需要3张卡片才能让每种颜色都位于下一种颜色之上,而不是上下运动

.preload{
背景:#ff0000;
高度:100px;
宽度:100px;
背景:线性梯度(
最重要的是,
红色
红色33.3333%,
蓝色33.3333%,
蓝色66.66667%,
红色66.66667%,
红色100%
);
背景尺寸:100%300%;
背景位置:顶部;
}
.预加载程序:悬停{
-webkit动画:loaderLoop 2s线性无限;
-moz动画:loaderLoop 2s线性无限;
动画:loaderLoop 2s线性无限;
}
@-webkit关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}
@-moz关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}
@关键帧loaderLoop{
0%{背景位置:顶部;}
100%{背景位置:底部;}
}

真棒就是这样,除了没有反弹,一旦红色到达顶部,蓝色向上滑动,然后红色向上滑动等等。所有这些都是从下到上,而不是从下->上,上->下真棒就是这样,除了没有反弹,一旦红色到达顶部,蓝色向上滑动,然后红色向上滑动等等。所有这些都是从下到上的,不是底部->顶部,顶部->底部谢谢。而不是反弹,一旦红色到达顶部,蓝色向上滑动,然后红色向上滑动等。所有这些都是从底部到顶部,而不是底部->顶部,顶部->底部谢谢。而不是反弹,一旦红色到达顶部,蓝色向上滑动,然后红色向上滑动等。所有这些都是从底部到顶部,而不是从底部->顶部,顶部->底部
.preloader:hover {
    animation: myLoop 2s ease infinite;
}

@keyframes myLoop{
    0%{background-position:top;}
    50%{background-position:bottom;}
    100%{background-position:top;}
}
    .preloader:hover {
        -webkit-animation: changeit 4s linear infinite;
        -moz-animation: changeit 4s linear infinite;
        animation: changeit 4s linear infinite;
    }

    @keyframes changeit {
      0% {background-position: top;}
      50% {background-position: bottom;}
      100% {background-position: top;}
    }
    @-moz-keyframes changeit {
      0% {background-position: top;}
      50% {background-position: bottom;}
      100% {background-position: top;}
    }
    @-webkit-keyframes changeit {
      0% {background-position: top;}
      50% {background-position: bottom;}
      100% {background-position: top;}
    }