Перейти к содержимому

Свойство CSS transition

Свойство CSS transition является сокращённым для следующих свойств:

Свойство transition является одним из свойств CSS3.

Значения transition-duration и transition-delay можно указывать в любом порядке. Однако, если transition-duration опущено, по умолчанию оно принимает значение 0s, что предотвращает анимацию перехода.

Свойства разделяются запятыми.

INFO

Значение none является допустимым и отключает переходы для указанных свойств.

Свойство transition позволяет указать переход между двумя состояниями элемента. Различные состояния могут быть определены с помощью псевдоклассов, таких как :hover или :active, или с помощью JavaScript.

INFO

Префиксы поставщиков, такие как -webkit-, -moz- и -o-, являются устаревшими и, как правило, не требуются для современных браузеров.

Начальное значениеall 0s ease 0s
Применяется коВсем элементам, псевдоэлементам ::before и ::after.
НаследуетсяНет.
АнимируетсяНет.
ВерсияCSS3
Синтаксис DOMObject.style.transition = "all 3s";

Синтаксис

Синтаксис свойства CSS transition

css
transition: transition-property | transition-duration | transition-timing-function |  transition-delay | initial | inherit;

Пример свойства transition с псевдоклассом :active:

Пример свойства CSS transition

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        width: 150px;
        height: 100px;
        background: #8ebf42;
        transition: width 2s;
      }
      div:active {
        width: 600px;
      }
    </style>
  </head>
  <body>
    <h2>Transition property example</h2>
    <p>Click and hold to see the transition effect.</p>
    <div></div>
  </body>
</html>

Пример свойства transition с псевдоклассом :hover:

Пример свойства CSS transition с псевдоклассом :hover

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      body {
        background-color: #fff;
        color: #000;
        font-size: 1em;
        font-family: 'Roboto', Helvetica, sans-serif;
      }
      .element {
        padding: 20px;
        width: 50px;
        height: 50px;
        left: 0;
        background-color: #8ebf42;
        position: relative;
        transition: left 1s ease-in-out, background-color 1s ease-out 1s;
      }
      .example:hover .element {
        left: 400px;
        background-color: #1c87c9;
      }
      .element-2 {
        transition: none;
      }
    </style>
  </head>
  <body>
    <h2>Transition property example</h2>
    <div class="example">
      <p>Hover over the container to see the transition effect.</p>
      <div class="element element-1"></div>
      <p>No transition:</p>
      <div class="element element-2"></div>
    </div>
  </body>
</html>

Значения

ЗначениеОписание
transition-propertyУказывает имена свойств для перехода.
transition-durationУказывает длительность анимации перехода.
transition-timing-functionУказывает скорость изменения объекта во времени при переходе от одного значения к другому.
transition-delayУказывает время ожидания перед началом анимации эффекта перехода.
initialЗаставляет свойство использовать значение по умолчанию.
inheritНаследует свойство от родительского элемента.

Практика

Какие свойства CSS Transition можно изменить?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.