Свойство CSS `transition-delay`
Базовая поддержка Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
Свойство transition-delay CSS задаёт время ожидания перед началом эффекта перехода свойства при изменении его значения.
Попробуйте
transition-delay: 250ms; transition-property: margin-right;
transition-delay: 1s; transition-property: background-color;
transition-delay: 1s; transition-property: margin-right, color;
transition-delay: 1s, 250ms; transition-property: margin-right, color;
<section id="default-example"> <div id="example-element">Hover to see<br />the transition.</div> </section>
#example-element {
background-color: #e4f0f5;
color: black;
padding: 1rem;
border-radius: 0.5rem;
font: 1em monospace;
width: 100%;
transition: margin-right 2s;
}
#default-example:hover > #example-element {
background-color: #990099;
color: white;
margin-right: 40%;
}
Задержка может быть нулевой, положительной или отрицательной:
- Значение
0s(или0ms) запускает эффект перехода немедленно. - Положительное значение задерживает начало эффекта перехода на указанное время.
- Отрицательное значение запускает эффект перехода немедленно, начиная его с середины. Иными словами, анимация эффекта будет выглядеть так, как если бы он выполнялся уже указанное время.
Можно указать несколько задержек, что удобно при переходе нескольких свойств. Каждая задержка применяется к соответствующему свойству, указанному в свойстве transition-property, которое служит основным списком. Если задержек указано меньше, чем свойств в основном списке, список значений задержки будет повторяться, пока их не станет достаточно. Если задержек указано больше, список значений задержки будет усечён до количества свойств. В обоих случаях объявление CSS остаётся допустимым.
Синтаксис
/* <time> values */ transition-delay: 3s; transition-delay: 2s, 4ms; /* Global values */ transition-delay: inherit; transition-delay: initial; transition-delay: revert; transition-delay: revert-layer; transition-delay: unset;
Значения
-
<time> - Задаёт время ожидания между изменением значения свойства и началом эффекта перехода.
Формальное определение
| Начальное значение | 0s |
|---|---|
| Применяется к | всем элементам, ::before и ::after <a href="/en-US/docs/Web/CSS/Reference/Selectors/Pseudo-elements">псевдоэлементам</a> |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | Не анимируется |
Формальный синтаксис
transition-delay =
<time>#
Примеры
Пример с разными задержками
HTML
<div class="box delay-1">0.5 seconds</div> <div class="box delay-2">2 seconds</div> <div class="box delay-3">4 seconds</div> <button id="change">Change</button>
CSS
.box {
margin: 20px;
padding: 10px;
display: inline-block;
width: 100px;
height: 100px;
background-color: red;
font-size: 18px;
transition-property: background-color, font-size, transform, color;
transition-timing-function: ease-in-out;
transition-duration: 3s;
}
.transformed-state {
transform: rotate(270deg);
background-color: blue;
color: yellow;
font-size: 12px;
transition-property: background-color, font-size, transform, color;
transition-timing-function: ease-in-out;
transition-duration: 3s;
}
.delay-1 {
transition-delay: 0.5s;
}
.delay-2 {
transition-delay: 2s;
}
.delay-3 {
transition-delay: 4s;
}
JavaScript
function change() {
const elements = document.querySelectorAll("div.box");
for (const element of elements) {
element.classList.toggle("transformed-state");
}
}
const changeButton = document.querySelector("#change");
changeButton.addEventListener("click", change);
Результат
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | |
transition-delay |
26
1
|
12
12
|
16
49
4–126
|
12.1
15
11.6–15
|
9
4
|
26
18
|
16
49
4–126
|
12.1
14
12–14
|
9
2
|
1.5
1.0
|
4.4
2
|
9
2
|
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/transition-delay