Свойство CSS transition
- это сокращенное свойство
для transition-property
, transition-duration
, transition-timing-function
, и transition-delay
.
Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, пожалуйста, клонируйте https://github.com/mdn/interactive-examples и отправьте нам pull request.
Transition позволяет определять переходное состояние между двумя состояниями элемента. Различные состояния могут быть определены с помощью псевдоклассов
, таких как :hover
или :active
или установлены динамически с помощью JavaScript.
Начальное значение | как и у каждого из подсвойств этого свойства: |
---|---|
Применяется к | все элементы, ::before и ::after псевдоэлементы |
Наследуется | нет |
Обработка значения | как и у каждого из подсвойств этого свойства:
|
Animation type | discrete |
Синтаксис
/* Применить к 1 свойству */
/* имя свойства | длительность */
transition: margin-left 4s;
/* имя свойства | длительность | задержка */
transition: margin-left 4s 1s;
/* имя свойства | длительность | временная функция | задержка */
transition: margin-left 4s ease-in-out 1s;
/* Применить к 2 свойствам */
transition: margin-left 4s, color 1s;
/* Применить ко всем измененным свойствам */
transition: all 0.5s ease-out;
/* Глобальные значения */
transition: inherit;
transition: initial;
transition: unset;
Свойство transition
указывается как один или более одно-свойственных переходов (single-property transitions), разделённых запятой.
Каждый одно-свойственный transition описывает переход, который должен быть применён к одному свойству (или специальным значениям all
и none
). Это включает в себя:
- ноль или одно значение, представляющее свойство, к которому должен быть применён переход. Это может быть одно из:
- ключевое слово
none
- ключевое слово
all
<custom-ident>
именование свойства CSS.
- ключевое слово
- ноль или одно
<single-transition-timing-function>
значение, представляющее временну́ю функцию - ноль, одно или два
<time>
значения. Первое значение, которое может быть интерпретировано как время, присваиваетсяtransition-duration
, а второе значение, которое может быть интерпретировано как время, присваиваетсяtransition-delay
.
Посмотрите, что предпринимается когда у списков значений свойств разные длины. Вкратце, избыточные свойства, не подлежащие анимации, игнорируются.
Формальное описание синтаксиса
<single-transition>#где
<single-transition> = [ none | <single-transition-property> ] || <time> || <timing-function> || <time>
где
<single-transition-property> = all | <custom-ident>
<timing-function> = linear | <cubic-bezier-timing-function> | <step-timing-function>где
<cubic-bezier-timing-function> = ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number <a href="/ru/docs/CSS/Value_definition_syntax#Brackets" title="Brackets: enclose several entities, combinators, and multipliers to transform them as a single component">[0,1]>, <number>, <number <a href="/ru/docs/CSS/Value_definition_syntax#Brackets" title="Brackets: enclose several entities, combinators, and multipliers to transform them as a single component">[0,1]>, <number>)
<step-timing-function> = step-start | step-end | steps(<integer>[, <step-position>]?)где
<step-position> = jump-start | jump-end | jump-none | jump-both | start | end
Примеры
Примеры CSS переходов включены в главную статью о CSS переходах.
Спецификации
Спецификация | Состояние | Комментарий |
---|---|---|
CSS Transitions Определение 'transition' в этой спецификации. |
Рабочий черновик | Изначальное определение |
Поддержка браузерами
BCD tables only load in the browser
[2] PPK test