CSS keyframes-generator

Resultaten

Een @keyframes-regel definieert de mijlpalen van een animatie: hoe het element er aan het begin, in het midden en aan het einde uitziet. Deze generator schrijft de regel voor vier gangbare bewegingen: fade-slide, pulse, spin en bounce. Geef de animatie een naam, stel de duur in en, voor de slide- en bounce-bewegingen, de afstand in pixels. Het resultaat is de animation-verkorte notatie plus het @keyframes-blok, klaar om in uw stylesheet te plakken.

Zo genereert u keyframes

  1. 1

    Kies het animatietype

    Fade slide, pulse, spin of bounce. Elke voorinstelling bevat kant-en-klare frames.

  2. 2

    Geef de animatie een naam

    Een naam in kebab-case zoals `fade-slide`, die later in de verkorte `animation`-notatie wordt gebruikt.

  3. 3

    Stel de duur in

    In seconden, bijvoorbeeld 0.6 voor een snelle overgang.

  4. 4

    Stel de afstand in (slide en bounce)

    De afstand in pixels, gebruikt voor de verticale beweging.

  5. 5

    Kopieer de CSS

    De verkorte notatie plus het `@keyframes`-blok, klaar voor uw stylesheet.

De vier voorinstellingen

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); }
}

Het element verschijnt terwijl het van onderen omhoog glijdt.

Pulse

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

Een zacht ademend effect, goed voor meldingspunten en badges.

Spin

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

Een volledige draaiing, nuttig voor loaders en pictogrammen.

Bounce

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

Het element springt omhoog en komt terug.

Waarom transform en opacity?

Browsers compositen transform en opacity op de GPU zonder layout of painting opnieuw te berekenen, dus animeren blijft vloeiend. De voorinstellingen vermijden doelbewust eigenschappen die layoutberekening triggeren.

De verkorte animation-notatie

animation: fade-slide 0.6s ease both; leest als: de animatie genaamd fade-slide, 0.6 seconde lang, met de standaard ease-overgang. De vulmodus both past de begintoestand toe vóór de animatie start en houdt de eindtoestand vast nadat deze klaar is, zodat het element niet flikkert vóór of abrupt terugspringt ná de beweging.

Naamgevingsconventies

  • Gebruik kebab-case, volgens de CSS-conventie.
  • Beschrijf de beweging, niet het element: fade-in-up is beter dan alert-appear.
  • Vermijd namen die kunnen botsen met bibliotheken van derden.

Browserondersteuning

@keyframes is universeel, ondersteund door elke browser sinds IE 10.

Veelgestelde vragen

Fade slide voor inhoud die de pagina binnenkomt, zoals kaarten, banners of dialogen. Pulse voor aandachtspunten, badges en knoppen die moeten opvallen. Spin voor loaders en voortgangspictogrammen. Bounce voor speelse nadruk, zoals een call-to-action-pijl.

De afstand is de verticale verplaatsing in pixels voor de slide- en bounce-voorinstellingen: de fade-slide-animatie start 24px lager en glijdt omhoog, de bounce springt 24px omhoog en terug. De spin-voorinstelling gebruikt hem niet.

Ja, het resultaat is pure CSS. Vervang ease door een andere overgangsnaam of een cubic-bezier(...)-waarde en voeg tussentijdse percentages toe zoals 25% of 75% in het @keyframes-blok om de beweging verder vorm te geven.

Omdat een framework-herrender de klasse opnieuw kan toepassen en de animatie opnieuw start. Gebruik animation-fill-mode: both (al aanwezig in het resultaat) om de eindtoestand vast te houden, of ontkoppel de trigger van de animatie van het element dat opnieuw wordt gerenderd.

Gerelateerde tools

Tool beschikbaar in andere talen