Я пытаюсь реализовать эффект постепенного исчезновения на чистом CSS. Вот скрипка . Я изучил пару решений в Интернете, однако, прочитав документацию в Интернете , я пытаюсь понять, почему анимация слайдов не работает. Есть указатели?
.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
Пенни Лю
источник
источник
Вот еще один способ сделать то же самое.
эффект исчезновения
.visible { visibility: visible; opacity: 1; transition: opacity 2s linear; }
эффект fadeOut
.hidden { visibility: hidden; opacity: 0; transition: visibility 0s 2s, opacity 2s linear; }
UPDATE 1:
Я нашел более современный учебник « Переход CSS3: эффекты fadeIn и fadeOut, подобные эффектам для скрытия элементов отображения и Пример всплывающей подсказки: Показать скрыть подсказку или текст справки с использованием перехода CSS3» с примером кода.UPDATE 2:
(Добавлены детали, запрошенные @ big-money)При отображении элемента (путем переключения на видимый класс) мы хотим, чтобы видимость: visible активировалась мгновенно, поэтому можно перенести только свойство opacity. И при скрытии элемента (путем переключения на скрытый класс) мы хотим отложить объявление visibility: hidden, чтобы сначала увидеть переход постепенного исчезновения. Мы делаем это, объявляя переход в свойстве видимости с длительностью 0 секунд и задержкой. Вы можете увидеть подробную статью здесь.
Я знаю, что слишком поздно отвечать, но отправляю этот ответ, чтобы сэкономить время других. Надеюсь, это поможет вам !!
источник
display:none
чтобы стереть поле, когда анимация "скрыть" закончится, есть идеи?display:block
вместо этогоvisibility: visible
в.visible
классе, аdisplay:none
неvisibility: hidden
в.hidden
классе из приведенного выше примера.display
не является одним из свойств CSS, которые можно анимировать . См. Раздел « Анимация» с «display: block» на «display: none» .Поскольку
display
это не одно из свойств CSS, которые можно анимировать. Одинdisplay:none
FADEOUT замена анимации с чистым CSS3 анимации, только что установилиwidth:0
иheight:0
на последнем кадре, и использовать ,animation-fill-mode: forwards
чтобы сохранитьwidth:0
иheight:0
свойства.@-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; }
источник
width
иheight
являются одновременно чувствительными.Это рабочий код вашего вопроса.
Наслаждайтесь кодированием ....
<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>
источник
Вы забыли добавить свойство позиции к
.dummy-wrap
классу, и значения верхнего / левого / нижнего / правого положения не применяются к статически позиционированным элементам (по умолчанию)http://jsfiddle.net/dYBD2/2/
источник
top
значение, чтобы оно перемещалось «за пределы» области просмотра, или вы можете использовать непрозрачность для анимации, чтобы она исчезла так, как вы, кажется, хотите ...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; }
демо здесь.
источник