Краткая справка

Класс
Свойства
ease-lineartransition-timing-function: linear;
ease-intransition-timing-function: cubic-bezier(0.4, 0, 1, 1);
ease-outtransition-timing-function: cubic-bezier(0, 0, 0.2, 1);
ease-in-outtransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

Основы использования

Управление кривой плавности

Используйте утилиты ease-* для управления кривой замедления элемента.

Наведите курсор на каждую кнопку, чтобы увидеть ожидаемое поведение

ease-in

ease-out

ease-in-out

<button class="ease-in duration-300 ...">Кнопка A</button>
<button class="ease-out duration-300 ...">Кнопка B</button>
<button class="ease-in-out duration-300 ...">Кнопка C</button>

Применяя условно

Tailwind позволяет условно применять служебные классы в разных состояниях с помощью модификаторов вариантов. Например, используйте hover:ease-in, чтобы применять утилиту ease-in только при hover.

<div class="transition duration-150 ease-out hover:ease-in">
  <!-- ... -->
</div>

Полный список всех доступных модификаторов состояния смотрите в документации Наведение, фокус и другие состояния.

Контрольные точки и медиа-запросы

Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как реагирующие контрольные точки, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:ease-in, чтобы применить утилиту ease-in только на экранах среднего размера и выше.

<div class="transition duration-150 ease-out md:ease-in">
  <!-- ... -->
</div>

Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.


Использование пользовательских значений

Настройка вашей темы

По умолчанию Tailwind предоставляет четыре универсальные утилиты с функцией синхронизации перехода. Вы можете настроить эти значения, отредактировав theme.transitionTimingFunction или theme.extend.transitionTimingFunction в вашем файле tailwind.config.js.

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      transitionTimingFunction: {
        'in-expo': 'cubic-bezier(0.95, 0.05, 0.795, 0.035)',
        'out-expo': 'cubic-bezier(0.19, 1, 0.22, 1)',
      }
    }
  }
}

Дополнительные сведения о настройке темы по умолчанию смотрите в документации настройка темы.

Произвольные значения

Если вам нужно использовать одноразовое transition-timing-function, которое не имеет смысла включать в вашу тему, используйте квадратные скобки для создания свойства на лету с использованием любого произвольного значения.

<div class="ease-[cubic-bezier(0.95,0.05,0.795,0.035)]">
  <!-- ... -->
</div>

Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.