Утилиты для анимации элементов с помощью CSS-анимации.
Добавьте утилиту animate-spin
, чтобы добавить анимацию линейного вращения к таким элементам, как индикаторы загрузки.
<button type="button" class="bg-rose-600 ..." disabled>
<svg class="animate-spin h-5 w-5 mr-3 ..." viewBox="0 0 24 24">
<!-- ... -->
</svg>
Обработка
</button>
Добавьте утилиту animate-ping
, чтобы масштабировать элемент и исчезать, как пинг радара или рябь воды - полезно для таких вещей, как значки уведомлений.
<span class="flex h-3 w-3">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-purple-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-3 w-3 bg-purple-500"></span>
</span>
Добавьте утилиту animate-pulse
, чтобы элемент плавно появлялся и исчезал - полезно для таких вещей, как загрузчики скелетов.
<div class="border border-blue-300 shadow rounded-md p-4 max-w-sm w-full mx-auto">
<div class="animate-pulse flex space-x-4">
<div class="rounded-full bg-blue-400 h-12 w-12"></div>
<div class="flex-1 space-y-4 py-1">
<div class="h-4 bg-blue-400 rounded w-3/4"></div>
<div class="space-y-2">
<div class="h-4 bg-blue-400 rounded"></div>
<div class="h-4 bg-blue-400 rounded w-5/6"></div>
</div>
</div>
</div>
</div>
Добавьте утилиту animate-bounce
, чтобы элемент подпрыгивал вверх и вниз - полезно для таких вещей, как индикаторы “прокрутки вниз”.
<svg class="animate-bounce w-6 h-6 ...">
<!-- ... -->
</svg>
Вы можете условно применять анимацию и переходы, используя варианты motion-safe
и motion-reduce
:
<button type="button" class="bg-indigo-600 ..." disabled>
<svg class="motion-safe:animate-spin h-5 w-5 mr-3 ..." viewBox="0 0 24 24">
<!-- ... -->
</svg>
Обработка
</button>
Эти варианты не включены по умолчанию, но вы можете включить их в разделе variants
вашего файла tailwind.config.js
:
// tailwind.config.js
module.exports = {
// ...
variants: {
animation: ['responsive', 'motion-safe', 'motion-reduce']
}
}
Подробнее читайте в документации состояния вариантов.
Чтобы изменить или отключить анимацию в определенной контрольной точке, добавьте префикс {screen}:
к любой существующей утилите анимации. Например, используйте md:animate-none
, чтобы применить утилиту animate-none
только при средних размерах экрана и выше.
<div class="animate-spin md:animate-none ...">
<!-- ... -->
</div>
Для получения дополнительной информации о функциях адаптивного дизайна Tailwind ознакомьтесь с документацией Адаптивного дизайна.
Анимация по самой своей природе, как правило, очень привязана к проекту. Анимации, которые мы включаем по умолчанию, лучше всего рассматривать как полезные примеры, и вам предлагается настроить анимацию в соответствии с вашими потребностями.
По умолчанию Tailwind предоставляет утилиты для четырех различных примеров анимации, а также утилиту animate-none
. Вы изменяете, добавляете или удаляете их, настраивая раздел animation
в конфигурации вашей темы.
// tailwind.config.js
module.exports = {
theme: {
extend: {
animation: {
+ 'spin-slow': 'spin 3s linear infinite',
}
}
}
}
Чтобы добавить новую анимацию @keyframes
, используйте раздел keyframes
конфигурации вашей темы:
// tailwind.config.js
module.exports = {
theme: {
extend: {
keyframes: {
+ wiggle: {
+ '0%, 100%': { transform: 'rotate(-3deg)' },
+ '50%': { transform: 'rotate(3deg)' },
+ }
}
}
}
}
Затем вы можете ссылаться на эти ключевые кадры по имени в разделе animation
конфигурации вашей темы:
// tailwind.config.js
module.exports = {
theme: {
extend: {
animation: {
+ wiggle: 'wiggle 1s ease-in-out infinite',
}
}
}
}
Дополнительные сведения о настройке темы по умолчанию смотрите в документации по настройке темы.
По умолчанию, только responsive варианты создаются для утилит animation.
Вы можете контролировать, какие варианты создаются для утилит animation для изменения свойства animation
в разделе variants
Вашего файла конфигурации tailwind.config.js
.
Например, эта конфигурация также будет генерировать варианты hover и focus:
// tailwind.config.js
module.exports = {
variants: {
extend: {
// ...
+ animation: ['hover', 'focus'],
}
}
}
Если Вы не планируете использовать в своем проекте утилиты для изменения animation, Вы можете полностью отключить их, установив для animation
свойство значение false
в разделе corePlugins
Вашего файла конфигурации:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ animation: false,
}
}