animation-delay
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since ÑенÑÑбÑÑ 2015 г..
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ: ÐÑо ÑкÑпеÑименÑалÑÐ½Ð°Ñ ÑеÑ
нологиÑ
Так как ÑпеÑиÑикаÑÐ¸Ñ ÑÑой ÑеÑ
нологии еÑÑ Ð½Ðµ ÑÑабилизиÑовалаÑÑ, ÑмоÑÑиÑе ÑаблиÑÑ ÑовмеÑÑимоÑÑи по Ð¿Ð¾Ð²Ð¾Ð´Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑазлиÑнÑÑ
бÑаÑзеÑаÑ
. Также замеÑÑÑе, ÑÑо ÑинÑакÑÐ¸Ñ Ð¸ поведение ÑкÑпеÑименÑалÑной ÑеÑ
нологии Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ Ð² бÑдÑÑиÑ
веÑÑиÑÑ
бÑаÑзеÑов, вÑлед за изменениÑми ÑпеÑиÑикаÑии.
ÐпиÑание
CSS ÑвойÑÑво animation-delay опÑеделÑÐµÑ Ð²ÑÐµÐ¼Ñ Ð·Ð°Ð´ÐµÑжки пеÑед ÑÑаÑÑом анимаÑии.
ÐнÑеÑакÑивнÑй пÑимеÑ
animation-delay: 250ms;
animation-delay: 2s;
animation-delay: -2s;
<section class="flex-column" id="default-example">
<div>Animation <span id="playstatus"></span></div>
<div id="example-element">Select a delay to start!</div>
</section>
#example-element {
background-color: #1766aa;
color: white;
margin: auto;
margin-left: 0;
border: 5px solid #333;
width: 150px;
height: 150px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
#playstatus {
font-weight: bold;
}
.animating {
animation-name: slide;
animation-duration: 3s;
animation-timing-function: ease-in;
animation-iteration-count: 2;
animation-direction: alternate;
}
@keyframes slide {
from {
background-color: orange;
color: black;
margin-left: 0;
}
to {
background-color: orange;
color: black;
margin-left: 80%;
}
}
"use strict";
window.addEventListener("load", () => {
const el = document.getElementById("example-element");
const status = document.getElementById("playstatus");
function update() {
status.textContent = "delaying";
el.className = "";
window.requestAnimationFrame(() => {
window.requestAnimationFrame(() => {
el.className = "animating";
});
});
}
el.addEventListener("animationstart", () => {
status.textContent = "playing";
});
el.addEventListener("animationend", () => {
status.textContent = "finished";
});
const observer = new MutationObserver(() => {
update();
});
observer.observe(el, {
attributes: true,
attributeFilter: ["style"],
});
update();
});
ÐнаÑение 0s, коÑоÑое ÑвлÑеÑÑÑ Ð·Ð½Ð°Ñением по ÑмолÑаниÑ, ÑказÑÐ²Ð°ÐµÑ Ð½Ð° Ñо, ÑÑо анимаÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° наÑаÑÑÑÑ Ð½ÐµÐ¿Ñеменно. РпÑоÑивном ÑлÑÑае, ÑÑаÑÑ Ð°Ð½Ð¸Ð¼Ð°Ñии бÑÐ´ÐµÑ Ð¾Ñложен на Ñказанное вÑемÑ.
ÐÑи Ñказании оÑÑиÑаÑелÑного знаÑениÑ, анимаÑÐ¸Ñ Ñакже наÑнÑÑÑÑ Ð½ÐµÐ¿Ñеменно, но ÐµÑ Ð²Ð¾ÑпÑоизведение наÑнÑÑÑÑ Ð½Ðµ Ñ Ð¿ÐµÑвого клÑÑевого кадÑа, а Ñак, бÑдÑо ÑаÑÑÑ Ð°Ð½Ð¸Ð¼Ð°Ñии Ñже бÑла показана. ÐапÑимеÑ, еÑли Ð²Ñ ÑкажеÑе знаÑение -1s, анимаÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð½Ð°ÑаÑа Ñ ÐºÐ»ÑÑевого кадÑа, когда 1 ÑекÑнда анимаÑии Ñже бÑла воÑпÑоизведена.
| ÐаÑалÑное знаÑение | 0s |
|---|---|
| ÐÑименÑеÑÑÑ Ðº | вÑе ÑлеменÑÑ, ::before и ::after пÑевдоÑлеменÑÑ |
| ÐаÑледÑеÑÑÑ | Ð½ÐµÑ |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как Ñказано |
| Animation type | Not animatable |
СинÑакÑиÑ
animation-delay: 3s;
animation-delay: 2s, 4ms;
ÐнаÑениÑ
<time>-
ÐÑÐµÐ¼Ñ Ð·Ð°Ð´ÐµÑжки пеÑед ÑÑаÑÑом анимаÑии. ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñеделено в ÑекÑÐ½Ð´Ð°Ñ (s), либо в миллиÑекÑÐ½Ð´Ð°Ñ (ms). ÐÑли Ð²Ñ Ð½Ðµ ÑкажиÑе единиÑÑ Ð¸Ð·Ð¼ÐµÑениÑ, ÑвойÑÑво бÑÐ´ÐµÑ Ð½ÐµÐ´ÐµÐ¹ÑÑвиÑелÑнÑм.
ФоÑмалÑнÑй ÑинÑакÑиÑ
animation-delay =
[ <'animation-delay-start'> <'animation-delay-end'>? ]#
<animation-delay-start> =
<time>#
<animation-delay-end> =
<time [0s,â]>#
ÐÑимеÑÑ
ÐоÑмоÑÑиÑе CSS-анимаÑии Ð´Ð»Ñ Ð¿ÑимеÑа.
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Animations Level 1 > # animation-delay > |