CSS3 Animation Delay longer than Duration breaks animation -


i attempting animate element display:none;opacity:0; display:block;opacity:1;. while below animation works, when introduce delay animation find cannot set delay value higher animation duration value. when do, animation ignored.

how set delay take e.g. 2 seconds , animation duration 300ms without breaking?

    div p + p {        display: none;        opacity: 0;      }        div p:hover + p {        display: block;        opacity: 1;        /* browser prefixes removed brevity */        -webkit-animation: fadeinfromnone 300ms 900ms linear;        animation: fadeinfromnone 300ms 900ms linear;      }      div.working p:hover + p {        display: block;        opacity: 1;        /* browser prefixes removed brevity */        -webkit-animation: fadeinfromnone 300ms 300ms linear;        animation: fadeinfromnone 300ms 300ms linear;      }        @-webkit-keyframes fadeinfromnone {        0% {          display: none;           opacity: 0;        }        1% {          display: block ;           opacity: 0;        }        100% {          display: block ;           opacity: 1;        }      }      keyframes fadeinfromnone {        0% {          display: none;           opacity: 0;        }        1% {          display: block ;           opacity: 0;        }        100% {          display: block ;           opacity: 1;        }      }
    <div>        <p>hover on me (broken)</p>        <p>peek-a-boo</p>      </div>      <div class="working">        <p>hover on me (working)</p>        <p>peek-a-boo</p>      </div>

this boils down timing issue.

initially p has display:none; , opacity:0;. on hover p has display:block; , opacity:1;, , then, after delay, reset display:none; , opacity:0; when animation starts.

by setting hover p have display:block; , animating opacity, desired result. stop animation completing , setting p opacity:0 again add forwards attribute animation:

div p + p {      display: none;      opacity: 0;  }    div p:hover + p {      display: block;      /* browser prefixes removed brevity */      -webkit-animation: fadeinfromnone 300ms linear 900ms forwards;      animation: fadeinfromnone 300ms linear 900ms forwards;  }    @-webkit-keyframes fadeinfromnone {      { opacity:0; }      { opacity:1; }  }  keyframes fadeinfromnone {      { opacity:0; }      { opacity:1; }  }
<div>        <p>hover on me</p>        <p>peek-a-boo</p>      </div>


Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

nvd3.js - angularjs-nvd3-directives setting color in legend as well as in chart elements -