Estou tentando implementar o efeito "fade out" em CSS puro. Aqui está o violino . Eu procurei algumas soluções online, no entanto, depois de ler a documentação online , estou tentando descobrir por que a animação de slide não funcionava. Quaisquer dicas?
.dummy-wrap {
animation: slideup 2s;
-moz-animation: slideup 2s;
-webkit-animation: slideup 2s;
-o-animation: slideup 2s;
}
.success-wrap {
width: 75px;
min-height: 20px;
clear: both;
margin-top: 10px;
}
.successfully-saved {
color: #FFFFFF;
font-size: 20px;
padding: 15px 40px;
margin-bottom: 20px;
text-align: center;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background-color: #00b953;
}
@keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-moz-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-webkit-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
@-o-keyframes slideup {
0% {top: 0px;}
75% {top: 0px;}
100% {top: -20px;}
}
<div class="dummy-wrap">
<div class="success-wrap successfully-saved">Saved</div>
</div>
css
css-transitions
Penny Liu
fonte
fonte
Aqui está outra maneira de fazer o mesmo.
efeito fadeIn
.visible { visibility: visible; opacity: 1; transition: opacity 2s linear; }
efeito fadeOut
.hidden { visibility: hidden; opacity: 0; transition: visibility 0s 2s, opacity 2s linear; }
UPDATE 1:
Encontrei um tutorial mais atualizado Transição CSS3: fadeIn e fadeOut como efeitos para ocultar elementos de exibição e Exemplo de dica de ferramenta: Mostrar Dica de Ocultar ou Texto de Ajuda usando Transição CSS3 aqui com código de exemplo.UPDATE 2:
(Adicionados detalhes solicitados por @ big-money)Ao mostrar o elemento (mudando para a classe visível), queremos que o
visibility:visible
seja ativado instantaneamente, portanto, não há problema em fazer a transição apenas da propriedade opacity. E ao ocultar o elemento (mudando para a classe oculta), queremos atrasar avisibility:hidden
declaração, para que possamos ver a transição fade-out primeiro. Estamos fazendo isso declarando uma transição na propriedade de visibilidade, com uma duração de 0s e um atraso. Você pode ver um artigo detalhado aqui .Eu sei que estou muito atrasado para responder, mas postar esta resposta para economizar tempo de outras pessoas. Espero que ajude você !!
fonte
display:none
para apagar a caixa quando a animação "ocultar" terminar, alguma ideia?display:block
vez devisibility: visible
na.visible
aula da mesma forma, emdisplay:none
vez devisibility: hidden
na.hidden
aula do exemplo acima.display
não é uma das propriedades CSS animáveis . Consulte Animando de “display: block” para “display: none” .Uma vez que
display
não é uma das propriedades CSS animáveis. Umadisplay:none
substituição de animação fadeOut com animações CSS3 puros, basta configurarwidth:0
eheight:0
no último quadro, e usoanimation-fill-mode: forwards
para manterwidth:0
eheight:0
propriedades.@-webkit-keyframes fadeOut { 0% { opacity: 1;} 99% { opacity: 0.01;width: 100%; height: 100%;} 100% { opacity: 0;width: 0; height: 0;} } @keyframes fadeOut { 0% { opacity: 1;} 99% { opacity: 0.01;width: 100%; height: 100%;} 100% { opacity: 0;width: 0; height: 0;} } .display-none.on{ display: block; -webkit-animation: fadeOut 1s; animation: fadeOut 1s; animation-fill-mode: forwards; }
fonte
width
eheight
são confidenciais.Este é o código de trabalho para sua pergunta.
Aproveite a codificação ...
<html> <head> <style> .animated { background-color: green; background-position: left top; padding-top:95px; margin-bottom:60px; -webkit-animation-duration: 10s;animation-duration: 10s; -webkit-animation-fill-mode: both;animation-fill-mode: both; } @-webkit-keyframes fadeOut { 0% {opacity: 1;} 100% {opacity: 0;} } @keyframes fadeOut { 0% {opacity: 1;} 100% {opacity: 0;} } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } </style> </head> <body> <div id="animated-example" class="animated fadeOut"></div> </body> </html>
fonte
Você se esqueceu de adicionar uma propriedade de posição à
.dummy-wrap
classe, e os valores superior / esquerdo / inferior / direito não se aplicam a elementos posicionados estaticamente (o padrão)http://jsfiddle.net/dYBD2/2/
fonte
top
valor para que "saia" da janela de visualização ou pode usar opacidade para a animação para que desapareça como você parece querer ...fadeOut{ background-color: rgba(255, 0, 0, 0.83); border-radius: 8px; box-shadow: silver 3px 3px 5px 0px; border: 2px dashed yellow; padding: 3px; } .fadeOut.end{ transition: all 1s ease-in-out; background-color: rgba(255, 0, 0, 0.0); box-shadow: none; border: 0px dashed yellow; border-radius: 0px; }
demonstração aqui.
fonte