Fade out after div content has been shown using CSS

css, html

Solution

You can use `animation` example.

Set the `animation-delay` to the time you want. Make sure you use `animation-fill-mode: forwards` to stop the animation.

#signup-response{
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background-color: #FF0000;
    margin-top: 20px;

     animation:signup-response 0.5s 1;
    -webkit-animation:signup-response 0.5s 1;
    animation-fill-mode: forwards;

    animation-delay:2s;
    -webkit-animation-delay:1s; /* Safari and Chrome */
    -webkit-animation-fill-mode: forwards;

} 

@keyframes signup-response{
    from {opacity :1;}
    to {opacity :0;}
}

@-webkit-keyframes signup-response{
    from {opacity :1;}
    to {opacity :0;}
}

Problem

I'm trying to show a notification on button click. The button click actually checks for email validation. I know to show a div with content with the error message. However, I would like to fade out the error message, lets say after 5 seconds. I would like to achieve it using CSS. Below is my attempt, it just hides everything. ``` #signup-response { width: 50%; margin-left: auto; margin-right: auto; text-align: center; background-color: #FF0000; margin-top: 20px; transition: opacity 5s ease-in-out; opacity: 0; } ``` ``` <div id="signup-response">Thank you</div> ```

Original source