Переходы и Анимация
Утилиты для управления плавностью переходов CSS.
Используйте утилиты 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
.
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>
Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.