javascript - 如何循环 CSS3 填充动画?

标签 javascript jquery html css

到目前为止,我设法做到了,悬停时背景从蓝色变为红色,但我希望它循环红色覆盖蓝色,然后蓝色覆盖红色,然后红色覆盖蓝色等。

http://jsfiddle.net/rfnslyr/1z14hwo5/

html

<div class="preloader"></div>

CSS

.preloader {
    background: #ff0000;
    height: 100px;
    width: 100px;
background: linear-gradient(to top, red 50%, blue 50%);
    background-size: 100% 200%;
    background-position:top;
    transition:all 2s ease;
}

.preloader:hover {
    background-position:bottom;
}

最佳答案

正如其他人所说的那样,CSS 动画具有无限循环,但您需要 3 张卡片才能让每种颜色排在下一个颜色之上,而不是上下运动。

.preloader {
  background: #ff0000;
  height: 100px;
  width: 100px;
  background: linear-gradient(
      to top, 
      red,
      red 33.3333%,
      blue 33.3333%,
      blue 66.66667%,
      red 66.66667%,
      red 100%
    );
  background-size: 100% 300%;
  background-position:top;
}

.preloader:hover {
    -webkit-animation: loaderLoop 2s linear infinite;
    -moz-animation: loaderLoop 2s linear infinite;
    animation: loaderLoop 2s linear infinite;
}

@-webkit-keyframes loaderLoop{
    0%{background-position:top;}
    100%{background-position:bottom;}
}

@-moz-keyframes loaderLoop{
    0%{background-position:top;}
    100%{background-position:bottom;}
}

@keyframes loaderLoop{
    0%{background-position:top;}
    100%{background-position:bottom;}
}
<div class="preloader"></div>

关于javascript - 如何循环 CSS3 填充动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26409643/

相关文章:

javascript - 如何在搜索结果中只选择可见元素

javascript - 将文本拆分为页面并单独呈现 (HTML5)

javascript - 需要从父 Div 获取数组中的所有标签内容

javascript - 如何将某物推送到返回数组的函数?(是否可以推送到返回数组的函数)

javascript - Require JS 仍然没有按顺序加载 shim 内容

javascript - GSAP Javascript if else 语句问题

php - WordPress 插件 - 如何禁用每页 js/css

jquery - 如何在 jQuery 中做套接字?

javascript - 如何通过选择其类使用 jquery 更改 anchor 标记

html - Gmail 忽略 "display:none"