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-motion2. 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-fademotion-preset-slide-rightmotion-preset-slide-leftmotion-preset-slide-upmotion-preset-slide-downmotion-preset-focusmotion-preset-blur-rightmotion-preset-blur-leftmotion-preset-blur-upmotion-preset-blur-downmotion-preset-bouncemotion-preset-expandmotion-preset-shrinkmotion-preset-popmotion-preset-compressmotion-preset-shakemotion-preset-wigglemotion-preset-confettimotion-preset-typewriter-[number of characters]motion-preset-flomojiVocê 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-0motion-translate-y-in-100-motion-translate-y-in-100motion-scale-in-75motion-rotate-in-180-motion-rotate-in-90motion-blur-in-smmotion-grayscale-inmotion-bg-in-red-500motion-text-in-blue-500Você 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-500motion-delay-500motion-timing-spring-bouncyPor 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-smoothmotion-ease-spring-snappymotion-ease-spring-bouncymotion-ease-spring-bounciestmotion-ease-bouncemotion-ease-bouncemotion-ease-in-quartPá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