Search code examples
csstransitioncss-animations

Looping Animation of text color change using CSS3


I have text that I want to animate. Not on hover, for example but continually changing slowly from white to red and then back to white again.

Here is my CSS code so far:

#countText{
    color: #eeeeee;
    font-family: "League Gothic", Impact, sans-serif;
    line-height: 0.9em;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-shadow: 0px 0px 6px ;
    font-size: 210px;
}

Solution

  • Use keyframes and animation property

    p {
      font-family: monospace;
      font-size: 3em;
      animation: color-change 1s infinite;
    }
    
    @keyframes color-change {
      0% { color: red; }
      50% { color: blue; }
      100% { color: red; }
    }
    <p>lorem ipsum</p>

    CSS With Prefixes

    p {
        -webkit-animation: color-change 1s infinite;
        -moz-animation: color-change 1s infinite;
        -o-animation: color-change 1s infinite;
        -ms-animation: color-change 1s infinite;
        animation: color-change 1s infinite;
    }
    
    @-webkit-keyframes color-change {
        0% { color: red; }
        50% { color: blue; }
        100% { color: red; }
    }
    @-moz-keyframes color-change {
        0% { color: red; }
        50% { color: blue; }
        100% { color: red; }
    }
    @-ms-keyframes color-change {
        0% { color: red; }
        50% { color: blue; }
        100% { color: red; }
    }
    @-o-keyframes color-change {
        0% { color: red; }
        50% { color: blue; }
        100% { color: red; }
    }
    @keyframes color-change {
        0% { color: red; }
        50% { color: blue; }
        100% { color: red; }
    }