tailwindcss-motion é um plugin Tailwind CSS feito na RomboHQ. É uma biblioteca de animação simples, mas poderosa, com uma sintaxe simples.
Movimento, sem comoção.
1. Instale o pacote npm
npm i -D tailwindcss-motion
2. Adicione ao seu tailwind.config.js
// tailwind.config.js
export default {
content : [ ... ] ,
theme : {
extend : { ... } ,
} ,
plugins : [ require ( 'tailwindcss-motion' ) ] ,
} ;
ou, para usar ESM:
import tailwindcssMotion from "tailwindcss-motion" ;
/** @type {import('tailwindcss').Config} */
export default {
content : [ ... ] ,
theme : {
extend : { } ,
} ,
plugins : [ tailwindcssMotion ] ,
} ;
Fornecemos uma sintaxe simples para animar qualquer elemento em seu projeto Tailwind. Em vez de definir quadros-chave personalizados, fornecemos classes utilitárias para animar todas as dimensões, inline.
Por exemplo, para um efeito de slide e fade - você simplesmente precisa motion-translate-x-in-25 motion-opacity-in-0
ou pode usar uma de nossas predefinições com motion-preset-fade
Fornecemos uma coleção de predefinições para animar seus componentes facilmente:
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
Você pode personalizar ainda mais as predefinições usando animações básicas e classes modificadoras.
Por exemplo:
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 >
Além das predefinições, você pode criar suas próprias animações personalizadas combinando estas classes base:
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
Você pode combinar várias animações em um único elemento:
< div
class =" motion-scale-in-75 motion-translate-y-in-100 motion-rotate-in-90 "
> </ div >
Para animações de saída, basta substituir in
por out
no nome da classe.
Você pode personalizar a duração, o atraso e a função de tempo de qualquer animação.
motion-duration-500
motion-delay-500
motion-timing-spring-bouncy
Por exemplo:
< div
class =" motion-duration-2000 motion-rotate-in-180 motion-opacity-in-0 "
> </ div >
Isso aplica uma duração de 2.000 ms às animações de rotação e opacidade.
Você pode aplicar modificadores a propriedades específicas usando uma barra /
.
Por exemplo:
< div
class =" motion-delay-500/rotate motion-rotate-in-180 motion-opacity-in-0 "
> </ div >
Aqui, o atraso de 500ms é aplicado apenas à rotação, não à opacidade.
O plugin inclui funções de tempo personalizadas:
alguns exemplos são:
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
Página inicial - https://play.tailwindcss.com/uAuVF8F1vC
Diálogo de bate-papo - https://play.tailwindcss.com/gjGqEKswjQ
Ilha dinâmica de bateria fraca - https://play.tailwindcss.com/tvYFbHtNNQ
Amostras de cores da Apple - https://play.tailwindcss.com/cvQ3Nk3v8j
A Rombo é uma empresa em estágio inicial, que desenvolve ferramentas para ajudar as empresas a construir belas interfaces interativas. Estamos começando com um kit de ferramentas para engenheiros, designers e profissionais de marketing criativos animarem nativamente dentro de fluxos de trabalho comuns - como Tailwind, Figma, Webflow, Shopify e muito mais por vir! Inscreva-se para receber atualizações em nosso site em https://rombo.co