CSS3 переход-эффект затухания
Я пытаюсь реализовать эффект "затухания" в чистом CSS. Вот это скрипка. Я действительно заглянул в пару решений в интернете, однако, после прочтения документации, Я пытаюсь выяснить, почему анимация слайдов не будет работать. Какие-нибудь указатели?
вот HTML
<div class="dummy-wrap">
<div class="success-wrap successfully-saved">Saved</div>
</div>
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;
}
}
6 ответов:
вместо этого можно использовать переходы:
.successfully-saved.hide-opacity{ opacity: 0; } .successfully-saved { color: #FFFFFF; text-align: center; -webkit-transition: opacity 3s ease-in-out; -moz-transition: opacity 3s ease-in-out; -ms-transition: opacity 3s ease-in-out; -o-transition: opacity 3s ease-in-out; opacity: 1; }
вот еще один способ сделать то же самое.
эффект fadeIn
.visible { visibility: visible; opacity: 1; transition: opacity 2s linear; }
эффект затухания
.hidden { visibility: hidden; opacity: 0; transition: visibility 0s 2s, opacity 2s linear; }
вы можете увидеть подробную статью здесь.
UPDATE:
Я нашел более современный учебник CSS3 переход: fadeIn и затухание, как эффекты, чтобы скрыть показать элементы и пример подсказки: Показать Скрыть подсказку или текст справки с помощью CSS3 Transition здесь с образец код.Я знаю, что я слишком поздно, чтобы ответить, но размещение этого ответа, чтобы сэкономить время других. Надеюсь, это поможет вам!!
вы забыли добавить свойство position к
.dummy-wrap
класс, и значения top / left / bottom/right не применяются к статически расположенным элементам (по умолчанию)
просто FYI, есть универсальная библиотека под названием анимация.css вам может быть интересно, у него есть целая куча чистой анимации CSS3. Вы можете взять и использовать его или изучить технику под ним.
.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; }
это рабочий код для вашего вопроса.
Наслаждайтесь Кодированием....<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>