2

我一直在浏览示例,但我会在这里遗漏一些东西。我无法让这个简单的 css 动画触发,改变一些文本的颜色。当我运行下面的示例时,文本保持黑色。

我有一个名为“changeColor”的动画,应用于 h1 元素的“text”类。它会在 5 秒的时间间隔内从一种颜色褪色到另一种颜色。

<!DOCTYPE html>
<html>
    <head>
        <style>
            .text{
                display:block;
                -webkit-animation: changeColor 5s infinite; /* Safari 4+ */
                -moz-animation: changeColor 5s infinite; /* Fx 5+ */
                -o-animation: changeColor 5s infinite; /* Opera 12+ */
                animation: changeColor 5s infinite; /* IE 10+ */

            }
            @keyframes changeColor {
              0% {
                color: 'red';
              }

              100% {
                color: 'blue';
              }
            }
            @-moz-keyframes changeColor {
              0% {
                color: 'red';
              }

              100% {
                color: 'blue';
              }
            }
            @-webkit-keyframes changeColor {
              0% {
                color: 'red';
              }

              100% {
                color: 'blue';
              }
            }
        </style>
    </head>
    <body>
        <h1 class="text">Not Working</h1>
    </body>
</html>
4

2 回答 2

5

您正在应用 CSS,而不是 JS。只需删除 CSS 中的引号,它就会像魅力一样工作。

演示小提琴

.text {
    display: block;
    -webkit-animation: changeColor 5s infinite; /* Safari 4+ */
    -moz-animation: changeColor 5s infinite; /* Fx 5+ */
    -o-animation: changeColor 5s infinite; /* Opera 12+ */
    animation: changeColor 5s infinite; /* IE 10+ */
}

@keyframes changeColor {
    0% {
        color: red;
    }

    100% {
        color: blue;
    }
}

@-moz-keyframes changeColor {
    0% {
        color: red;
    }

    100% {
        color: blue;
    }
}

@-webkit-keyframes changeColor {
    0% {
        color: red;
    }

    100% {
        color: blue;
    }
}
于 2013-07-25T08:01:43.427 回答
0

检查此演示

你不需要新的changeColor规则。这就足够了:

@-webkit-keyframes NAME-YOUR-ANIMATION {
  0%   { color: red; }
  100% { color: blue; }
}

更多动画信息在这里

于 2013-07-25T08:08:36.330 回答