Tailwindcss-motion — это CSS-плагин Tailwind, созданный в RomboHQ. Это простая, но мощная библиотека анимации с простым синтаксисом.
Движение, без волнения.
1. Установите пакет npm.
npm i -D tailwindcss-motion
2. Добавьте в свой Tailwind.config.js
// tailwind.config.js
export default {
content : [ ... ] ,
theme : {
extend : { ... } ,
} ,
plugins : [ require ( 'tailwindcss-motion' ) ] ,
} ;
или, чтобы использовать ESM:
import tailwindcssMotion from "tailwindcss-motion" ;
/** @type {import('tailwindcss').Config} */
export default {
content : [ ... ] ,
theme : {
extend : { } ,
} ,
plugins : [ tailwindcssMotion ] ,
} ;
Мы предоставляем простой синтаксис для анимации любого элемента вашего проекта Tailwind. Вместо определения пользовательских ключевых кадров мы предоставляем служебные классы для встроенной анимации каждого измерения.
Например, для эффекта скольжения и затухания вам просто нужен motion-translate-x-in-25 motion-opacity-in-0
или вы можете использовать один из наших пресетов с motion-preset-fade
Мы предоставляем коллекцию пресетов для простой анимации ваших компонентов:
motion-preset-fade
motion-preset-slide-right
motion-preset-slide-left
motion-preset-slide-up
motion-preset-slide-down
motion-preset-focus
motion-preset-blur-right
motion-preset-blur-left
motion-preset-blur-up
motion-preset-blur-down
motion-preset-bounce
motion-preset-expand
motion-preset-shrink
motion-preset-pop
motion-preset-compress
motion-preset-shake
motion-preset-wiggle
motion-preset-confetti
motion-preset-typewriter-[number of characters]
motion-preset-flomoji
Вы можете дополнительно настроить пресеты, используя базовые классы анимации и модификаторов.
Например:
motion-preset-fade
: < div class =" motion-preset-fade motion-delay-500 " > div >
motion-preset-slide-right
: < div class =" motion-preset-slide-right motion-duration-2000 " > div >
motion-preset-bounce
: < div class =" motion-preset-bounce -motion-translate-y-in-150 " > div >
Помимо пресетов, вы можете создавать свои собственные анимации, комбинируя эти базовые классы:
motion-opacity-in-0
motion-translate-y-in-100
-motion-translate-y-in-100
motion-scale-in-75
motion-rotate-in-180
-motion-rotate-in-90
motion-blur-in-sm
motion-grayscale-in
motion-bg-in-red-500
motion-text-in-blue-500
Вы можете объединить несколько анимаций в одном элементе:
">< div class =" motion-scale-in-75 motion-translate-y-in-100 motion-rotate-in-90 " > div >
Для анимации выхода просто замените in
на out
в имени класса.
Вы можете настроить продолжительность, задержку и функцию синхронизации любой анимации.
motion-duration-500
motion-delay-500
motion-timing-spring-bouncy
Например:
">< div class =" motion-duration-2000 motion-rotate-in-180 motion-opacity-in-0 " > div >
Это применяет продолжительность 2000 мс как к анимации вращения, так и к анимации непрозрачности.
Вы можете применить модификаторы к определенным свойствам, используя косую черту /
.
Например:
">< div class =" motion-delay-500/rotate motion-rotate-in-180 motion-opacity-in-0 " > div >
Здесь задержка в 500 мс применяется только к вращению, а не к непрозрачности.
Плагин включает в себя пользовательские функции синхронизации:
несколько примеров:
motion-ease-spring-smooth
motion-ease-spring-snappy
motion-ease-spring-bouncy
motion-ease-spring-bounciest
motion-ease-bounce
motion-ease-bounce
motion-ease-in-quart
Целевая страница - https://play.tailwindcss.com/uAuVF8F1vC
Диалог чата - https://play.tailwindcss.com/gjGqEKswjQ
Динамический остров с низким зарядом батареи — https://play.tailwindcss.com/tvYFbHtNNQ
Образцы цветов Apple — https://play.tailwindcss.com/cvQ3Nk3v8j
Rombo — молодая компания, создающая инструменты, помогающие компаниям создавать красивые интерактивные интерфейсы. Мы начинаем с набора инструментов для инженеров, дизайнеров и креативных маркетологов, позволяющих анимировать стандартные рабочие процессы, такие как Tailwind, Figma, Webflow, Shopify и многие другие! Подпишитесь на обновления на нашем сайте https://rombo.co.