решение css для скрытия div через x секунд
любой способ использовать css3 только для удаления / скрытия #a после, скажем, 90 секунд загрузки страницы ?
<div id="container">
<div class="box">
<a id="hide_after_90_seconds"></a>
</div>
</div>
Я хотел бы перейти от дисплея: блок для отображения: нет, если это возможно ?
3 ответов
это возможно с анимацией CSS и forwards
свойство для приостановки анимации на 100%. The display
свойство не может быть анимировано.
элемент задается position: relative
а то opacity: 0
и left: -9999px
когда он достигает 100%. Он исчезнет, а затем вытянется за пределы иллюминатора.
см. поддержку браузера здесь - совместимый IE 10+ !
вот полный список анимированных свойств.
здесь есть три способа вытащить div за пределы окна просмотра на 100%:
left: -9999px
в сочетании сposition: relative
на элементе (как в примере ниже)height: 0
илиmax-height: 0
в сочетании сtext-indent: -9999px
пример
в этом примере текст исчезает через 5 секунд, а затем удаляет div из окна просмотра.
div {
-webkit-animation: seconds 1.0s forwards;
-webkit-animation-iteration-count: 1;
-webkit-animation-delay: 5s;
animation: seconds 1.0s forwards;
animation-iteration-count: 1;
animation-delay: 5s;
position: relative;
background: red;
}
@-webkit-keyframes seconds {
0% {
opacity: 1;
}
100% {
opacity: 0;
left: -9999px;
}
}
@keyframes seconds {
0% {
opacity: 1;
}
100% {
opacity: 0;
left: -9999px;
}
}
<div>hide me after 5 seconds</div>
#hidethis { animation: css 0s 3s forwards; }
@keyframes css { to { visibility: hidden; } }
/* visibility / overflow: hidden; */
<div id='hidethis'>Wait for 3 seconds...</div>
ближе всего вы можете прийти с css только это..это может быть улучшено дальше, но это как есть..
http://jsfiddle.net/techsin/7g7ofazj/
.red {
background-color: red; width: 100px; height: 100px;
-webkit-animation: ani 1s forwards;
}
@-webkit-keyframes ani {
89% {opacity:1;height: 100px;}
90% {opacity:0; height: 0;}
100% {opacity:0; height: 0;}
}
и если вы хотите сделать с javascript / jquery..
вы бы сделали это..
var ele = $(".hide_after_90_seconds");
setTimeout(function() { ele.hide(); }, 9000);