CSS keyframes-generator

Resultat

En @keyframes-regel definierar en animations milstolpar: hur elementet ser ut i början, mitten och slutet. Den här generatorn skriver regeln för fyra vanliga rörelser: fade-slide, pulse, spin och bounce. Ge animationen ett namn, ställ in längden och, för slide- och bounce-rörelserna, sträckan i pixlar. Resultatet är animation-förkortningen plus @keyframes-blocket, redo att klistras in i din stilmall.

Så genererar du keyframes

  1. 1

    Välj animationstyp

    Fade slide, pulse, spin eller bounce. Varje förinställning har färdiga frames.

  2. 2

    Namnge animationen

    Ett namn i kebab-case som `fade-slide`, som sedan används i `animation`-förkortningen.

  3. 3

    Ställ in längden

    I sekunder, till exempel 0.6 för en snabb övergång.

  4. 4

    Ställ in avståndet (slide och bounce)

    Sträckan i pixlar, som används för den vertikala rörelsen.

  5. 5

    Kopiera CSS:en

    Förkortningen plus `@keyframes`-blocket, redo för din stilmall.

De fyra förinställningarna

Fade slide

.animated {
  animation: fade-slide 0.6s ease both;
}

@keyframes fade-slide {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

Elementet tonar in medan det glider uppåt underifrån.

Pulse

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.05); opacity: .8; }
}

En mjuk pulserande effekt, bra för notiser och badges.

Spin

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

Ett helt varv, användbart för spinners och ikoner.

Bounce

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-24px); }
}

Elementet hoppar uppåt och tillbaka.

Varför transform och opacity?

Webbläsare kompositerar transform och opacity på GPU:n utan att räkna om layout eller måla om, så att animera dem förblir mjukt. Förinställningarna undviker medvetet egenskaper som utlöser layoutberäkning.

animation-förkortningen

animation: fade-slide 0.6s ease both; läses: animationen fade-slide, 0.6 sekunder lång, med den förvalda ease-kurvan. Fyllnadsläget both applicerar starttillståndet före animationens början och behåller sluttillståndet efter avslut, vilket förhindrar att elementet blinkar till innan eller studsar tillbaka efter rörelsen.

Namnkonventioner

  • Använd kebab-case, i enlighet med CSS-konventionen.
  • Beskriv rörelsen, inte elementet: fade-in-up är bättre än alert-appear.
  • Undvik namn som kan kollidera med tredjepartsbibliotek.

Webbläsarstöd

@keyframes är universellt och stöds av alla webbläsare sedan IE 10.

Vanliga frågor

Fade slide för innehåll som kommer in på sidan, som kort, banners eller dialoger. Pulse för uppmärksamhetspunkter, badges och knappar som ska sticka ut. Spin för spinners och förloppsikoner. Bounce för lekfull betoning, som en call-to-action-pil.

Avståndet är den vertikala sträckan i pixlar för slide- och bounce-förinställningarna: fade-slide-animationen startar 24px lägre och glider uppåt, bounce hoppar 24px upp och tillbaka. Spin-förinställningen använder det inte.

Ja, resultatet är ren CSS. Byt ut ease mot valfritt easonord eller ett cubic-bezier(...)-värde och lägg till mellanliggande procenttal som 25% eller 75% i @keyframes-blocket för att forma rörelsen ytterligare.

För att en ny rendering från ramverket kan applicera klassen igen och starta om animationen. Använd animation-fill-mode: both (redan i resultatet) för att hålla sluttillståndet, eller koppla bort animationens utlösare från elementet som renderas om.

Relaterade verktyg

Verktyget finns på andra språk