transition-delay | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |||
10.0+ | 1.0+ | 26.0+ | 11.6+ | 12.10+ | 3.0+ | 4.0+ | 16.0+ | 2.1 | 2.0+ |
Краткая информация
Значение по умолчанию | 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Процентная запись | Неприменима |
Ссылка на спецификацию | http://dev.w3.org/csswg/css-transitions/#transition-delay |
Версии CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
Описание
Свойство transition-delay устанавливает время ожидания перед запуском эффекта перехода. Значение 0s или 0ms запускает анимацию сразу же. Отрицательное значение также включает анимацию без задержек, но может привести к изменению вида начала анимации.
Допустимо указывать несколько значений, перечисляя их через запятую. Каждое значение будет применяться к свойству, заданному в параметрах transition-property.
Синтаксис
transition-delay: <время> [,<время>]*
Значения
См. время.
Пример
HTML5CSS3IE 10+CrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>transition-delay</title>
<style>
#bar {
top:-5.5em; right:5em; /* Положение */
padding: .5em; /* Поля */
margin: 0; /* Отступы */
position: absolute; /* Абсолютное позиционирование */
width: 2em; /* Ширина */
background: #333; /* Цвет фона */
color: #fff; /* Цвет текста */
text-align: center; /* Выравнивание по центру */
/* Анимация */
-webkit-transition: .4s ease-out;
-webkit-transition-delay: 0.5s;
-o-transition: .4s ease-out;
-o-transition-delay: 0.5s;
-moz-transition: .4s ease-out;
-moz-transition-delay: 0.5s;
transition: .4s ease-out;
transition-delay: 0.5s;
}
#bar:hover { top: 0; }
</style>
</head>
<body>
<ul>
<li>1</li><li>2</li>
<li>3</li><li>4</li>
<li>↓</li>
</ul>
</body>
</html>
В данном примере при наведении курсора на стрелку, раскрывается блок с числами.
Объектная модель
[window.]document.getElementById(«elementID»).style.transitionDelay
Браузеры
Chrome до версии 26.0, Safari, Android и iOS поддерживают нестандартное свойство -webkit-transition-delay.
Opera до версии 12.10 поддерживает нестандартное свойство -o-transition-delay.
Firefox до версии 16.0 поддерживает нестандартное свойство -moz-transition-delay.
transition-delay | CSS | WebReference
Свойство transition-delay устанавливает время ожидания перед запуском эффекта перехода. Значение 0s запускает анимацию сразу же. Отрицательное значение также включает анимацию без задержек, но может привести к изменению вида начала анимации.
Допустимо указывать несколько значений, перечисляя их через запятую. Каждое значение будет применяться к свойству, заданному в параметрах transition-property.
Краткая информация
Значение по умолчанию | 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Анимируется | Нет |
Синтаксис ?
transition-delay: <время> [,<время>]*
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>transition-delay</title>
<style>
#bar {
top:-5.5em; right:5em; /* Положение */
padding: .5em; /* Поля */
margin: 0; /* Отступы */
position: absolute; /* Абсолютное позиционирование */
width: 2em; /* Ширина */
background: #333; /* Цвет фона */
color: #fff; /* Цвет текста */
text-align: center; /* Выравнивание по центру */
/* Анимация */
transition: .4s ease-out;
transition-delay: 0.5s;
}
#bar:hover { top: 0; }
</style>
</head>
<body>
<ul>
<li>1</li><li>2</li>
<li>3</li><li>4</li>
<li>↓</li>
</ul>
</body>
</html>
В данном примере при наведении курсора на стрелку, раскрывается блок с числами.
Объектная модель
Объект.style.transitionDelay
Примечание
Chrome до версии 26.0, Safari до версии 6.1 и Android до версии 4.4 поддерживают свойство -webkit-transition-delay.
Opera до версии 12.10 поддерживает свойство -o-transition-delay.
Firefox до версии 16 поддерживает свойство -moz-transition-delay.
Спецификация ?
Спецификация | Статус |
---|---|
CSS Transitions | Рабочий проект |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
×Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 30.08.2017
Редакторы: Влад Мержевич
transition-delay | CSS справочник
Поддержка браузерами
12.0+ | 10.0+ | 16.0+ | 26.0+ | 12.1+ | 6.1+ |
Описание
CSS свойство transition-delay указывает задержку перед началом анимации перехода. Задержка указывается в секундах(s) или миллисекундах(ms).
Если в качестве значения задержки указано 0s, 0ms или отрицательное значение, анимация перехода начнётся сразу как только значение определённого в transition-property свойства изменится.
Допускается указывать более одной задержки перед эффектом перехода, через запятую. Каждое новое значение задержки применяется к соответствующему свойству в том порядке, который определён в свойстве transition-property. Если список задержек меньше, чем количество свойств в transition-property, задержка эффекта перехода для оставшихся свойств пойдёт по второму кругу. Если определено больше задержек, чем указано свойств, то список задержек просто усекается до нужного количества.
Значение по умолчанию: | 0 |
---|---|
Применяется: | ко всем элементам |
Анимируется: | нет |
Наследуется: | нет |
Версия: | CSS3 |
Синтаксис JavaScript: | object.style.transitionDelay=»2s» |
Синтаксис
transition-delay: время|inherit;
Значения свойства
Значение | Описание |
---|---|
время | Указывает, сколько секунд(s) или миллисекунд(ms) будет задержка перед началом анимации перехода. |
inherit | Указывает, что значение наследуется от родительского элемента. |
Пример
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Пример</title> <style> div { width: 100px; height: 100px; } #test1 { background-color: red; transition-property: width; transition-duration: 2s; transition-delay: 1s; } #test1:hover { width: 300px; } #test2 { background-color: blue; transition-property: width, height; transition-duration: 2s, 6s; transition-delay: 3s; } #test2:hover { width: 300px; height: 300px; } </style> </head> <body> <p>Наведите на красный и/или синий квадрат, чтобы увидеть эффект перехода.<p> <div></div> <div></div> </body> </html>
Результат данного примера:
Наведите на красный и/или синий квадрат, чтобы увидеть эффект перехода.
Свойство animation-delay | CSS справочник
CSS свойстваОпределение и применение
CSS свойство animation-delay определяет задержку для запуска анимации. Задержка анимации задается в секундах (s) или миллисекундах (ms).
Обращаю Ваше внимание на то, что, как правило, удобнее использовать сокращенное обозначение свойства анимации — animation, чтобы установить все свойства анимации в одном объявлении.
Поддержка браузерами
CSS синтаксис:
animation-delay:"time | initial | inherit"; /* несколько значений указываются через запятую */ animation-name:"animationName1, animationName2, animationName3"; animation-delay:"1s, 2s, 3s";
JavaScript синтаксис:
object.style.animationDelay = "2s"
Значения свойства
Значение | Описание |
---|---|
time | Определяет количество секунд(s) или миллисекунд(ms), по истечению которых начнется воспроизведение анимации. Значение по умолчанию 0. Допускаются отрицательные значения — анимация начнет воспроизводиться без задержки, но со смещением равному указанному значению (т.е. если вы укажите -5s, то анимация будет воспроизведена без задержки, и с того момента как будто она уже длится 5 секунд). Допускается указывать несколько значений, перечисленных через запятую (для каждой отдельной анимации). |
initial | Устанавливает свойство в значение по умолчанию. |
inherit |
Версия CSS
CSS3Наследуется
Нет.Анимируемое
Нет.Пример использования
<!DOCTYPE html> <html> <head> <title>Задержка анимации в CSS</title> <style> div { width: 75px; /* устанавливаем ширину блока */ height: 75px; /* устанавливаем высоту блока */ border-radius: 100%; /* определяем форму углов элемента */ position: relative; /* элемент с относительным позиционированием */ animation-name: iliketomoveit; /* задаём имя анимации (соответствует имени назначенному в ключевых кадрах) */ animation-duration: 5s; /* задаём продолжительность анимации */ animation-iteration-count: infinite; /* указываем, что анимация будет повторяться бесконечно */ } .test { animation-delay: -500ms; /* устанавливаем отрицательную задержку равную -500ms (без задержки со смещением) */ } .test2 { animation-delay: 1500ms; /* устанавливаем задержку анимации равную 1500 миллисекунд */ } .test3 { animation-delay: 2s; /* устанавливаем задержку анимации равную 2 секунды */ } @keyframes iliketomoveit { 0% {left: 0px;} 25% {left: 400px; background: red;} 75% {left: 200px;} 100% {left: 0px; background: black;} } </style> </head> <body> <div class = "test">-500ms</div> <div class = "test2">1500ms</div> <div class = "test3">2s</div> </body> </html>Пример использования CSS свойства animation-delay (задержка анимации в CSS).CSS свойства
animation-delay | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | ||
10.0+ | 3.0+ | 12.0+ | 12.10+ | 4.0+ | 5.0+ | 16.0+ | 3.0+ | 2.0+ |
Краткая информация
Значение по умолчанию | 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Ссылка на спецификацию | http://dev.w3.org/csswg/css3-animations/#animation-delay |
Версии CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
Описание
Свойство animation-delay устанавливает время ожидания перед воспроизведением анимации. Значение 0s или 0ms, которое установлено по умолчанию, запускает анимацию сразу же, как только она применяется к элементу. Отрицательное значение также включает анимацию без задержек, но приводит к изменению последовательности начала анимации.
Допустимо указывать несколько значений, перечисляя их через запятую. Каждое значение будет применяться к свойству, заданному в параметрах animation-name.
Синтаксис
animation-delay: <время>[, <время>]*
Значения
См. время.
Пример
HTML5CSS3IE 10+CrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>animation-delay</title>
<style>
@-webkit-keyframes flash {
0%, 100% {opacity: 1;}
50% {opacity: 0;}
}
@-moz-keyframes flash {
0%, 100% {opacity: 1;}
50% {opacity: 0;}
}
@-o-keyframes flash {
0%, 100% {opacity: 1;}
50% {opacity: 0;}
}
@keyframes flash {
0%, 100% {opacity: 1;}
50% {opacity: 0;}
}
.flash {
-webkit-animation-name: flash;
-moz-animation-name: flash;
-o-animation-name: flash;
animation-name: flash;
/* Задержка перед началом */
-webkit-animation-delay: 1s;
-moz-animation-delay: 1s;
-o-animation-delay: 1s;
animation-delay: 1s;
/* Продолжительность анимации */
-webkit-animation-duration: 1s;
-moz-animation-duration: 1s;
-o-animation-duration: 1s;
animation-duration: 1s;
}
</style>
</head>
<body>
<h2>Добро пожаловать!</h2>
</body>
</html>
Объектная модель
[window.]document.getElementById(«elementID»).style.animationDelay
Браузеры
Chrome, Safari, Android и iOS поддерживают нестандартное свойство -webkit-animation-delay.
Opera до версии 12.10 поддерживает нестандартное свойство -o-animation-delay.
Firefox до версии 16.0 поддерживает нестандартное свойство -moz-animaition-delay.
animation-delay | CSS | WebReference
Свойство animation-delay устанавливает время ожидания перед запуском цикла анимации. Значение 0s или 0ms запускает анимацию сразу же. Отрицательное значение также включает анимацию без задержек, но может привести к изменению вида начала анимации.
Допустимо указывать несколько значений, перечисляя их через запятую.
Краткая информация
Значение по умолчанию | 0s |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, к псевдоэлементам ::before и ::after |
Анимируется | Нет |
Синтаксис ?
animation-delay: <время> [,<время>]*
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>animation-duration</title>
<style>
.warn {
background: #fc0;
padding: 10px;
top: -100px;
position: absolute;
left: 0; right: 0;
}
.fadeInTop {
-webkit-animation-name: fadeInTop;
-webkit-animation-duration: 1s;
-webkit-animation-delay: 2s;
-webkit-animation-fill-mode: forwards;
animation-name: fadeInTop;
animation-duration: 2s; /* Продолжительность анимации */
animation-delay: 1s; /* Задержка */
animation-fill-mode: forwards;
}
@-webkit-keyframes fadeInTop {
from { top: -100px; }
to { top: 0; }
}
@keyframes fadeInTop {
from { top: -100px; }
to { top: 0; }
}
</style>
</head>
<body>
<div>Вы не учли, что скалярное
поле необходимо и достаточно!</div>
</body>
</html>
Объектная модель
Объект.style.animationDelay
Примечание
Chrome, Safari и Android поддерживают свойство -webkit-animation-delay.
Opera до версии 12.10 поддерживает свойство -o-animation-delay.
Firefox до версии 16 поддерживает свойство -moz-animation-delay.
Спецификация ?
Спецификация | Статус |
---|---|
CSS Animations | Рабочий проект |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
×Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 27.08.2017
Редакторы: Влад Мержевич
CSS: Выпадающее меню с задержкой
Обычное выпадающие css-меню сделанное с помощью переключения display:none;
/display:block;
повешенного на hover обладает двумя раздражающими недостатками:
— подменю показывается мгновенно, как только курсор мыши попал в область родительского пункта
— подменю мгновенно пропадает, как только курсор вышел за пределы подменю
Пример такого меню:
<ul> <li> <a href="#">item</a> <ul> <li>subitem 1</li> <li>subitem 2</li> </ul> </li> </ul> <style> .menu { margin: 0; padding: 0; list-style: none; } .menu .menu-item { float: left; margin: 0 1px 0 0; padding: 0; background: #E1E1E1; } .menu .menu-item a { display: block; padding: 5px 10px; } .menu .submenu { display: none; /* По умолчанию скрываем подменю */ position: absolute; margin: 0; padding: 0; list-style: none; background: #E1E1E1; } .menu .menu-item:hover .submenu { display: block; /* Показываем подменю при ховере */ } .menu .submenu-item { margin: 0; padding: 5px 10px; } </style>
Демо
Чтобы создать небольшую задержку перед показом и скрытием подменю раньше приходилось использовать javascript, но теперь наткнулся на css вариант.
Весь фокус в свойстве transition
, а точнее его подсвойстве transition-delay
, которое позволяет добавить задержку перед показом анимации:
.menu .submenu { opacity: 0; /* По умолчанию скрываем подменю */ visibility: hidden; transition-property: opacity, visibility; /* Важно чтобы transition применялось к обоим свойствам */ transition-duration: 0.2s; /* Добавляем анимацию 0.3 сек. */ transition-delay: 0.15s; /* Добавляем задержку в 0.15 сек. */ } .menu .menu-item:hover .submenu { opacity: 1; /* Показываем подменю при ховере */ visibility: visible; }
Демо
Поскольку анимацию нельзя вешать на display
, то для скрытия подменю приходится использовать связку opacity:0; visibility:hidden;
.