CSS
HTML
JavaScript
PHP
Introduzione
Coming Soon
Generatori
Varie

CSS animation-timing-function

La proprietà CSS3 animation-timing-function definisce la curva temporale dell'animazione

La proprietà animation-timing-function consente di definire la velocità con cui un'animazione cambia durante il suo ciclo. Usando valori come ease, linear, ease-in, ease-out, ease-in-out, oppure una funzione personalizzata tramite cubic-bezier(), è possibile creare animazioni più fluide e naturali, adattando il ritmo al comportamento desiderato dell'animazione.

Sintassi

animation-timing-function: ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(x1, y1, x2, y2);

Significato dei valori principali:

  • ease: valore predefinito, rende l'animazione più lenta all'inizio e alla fine, ma più veloce al centro.

  • linear: l'animazione ha una velocità costante per tutta la durata.

  • ease-in: l'animazione inizia lentamente e poi accelera.

  • ease-out: l'animazione inizia velocemente e poi rallenta.

  • ease-in-out: l'animazione inizia lentamente, accelera al centro e poi rallenta di nuovo alla fine.

  • cubic-bezier(x1, y1, x2, y2): consente di definire una curva temporale personalizzata, creando effetti unici di animazione.


Esempio proprietà: animation-timing-function


Codice Esempio: animation-timing-function

CODE: HTMLpreleva codice
  1. <!DOCTYPE html>
  2. <html lang="it">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>Demo: animation-timing-function con cubic-bezier</title>
  6.   <style>
  7.     body {
  8.       font-family: sans-serif;
  9.       padding: 30px;
  10.       background: #f9f9f9;
  11.       max-width: 700px;
  12.       margin: auto;
  13.     }
  14.  
  15.     h2 {
  16.       text-align: center;
  17.       margin-bottom: 40px;
  18.     }
  19.  
  20.     .row {
  21.       margin-bottom: 40px;
  22.     }
  23.  
  24.     .label {
  25.       font-weight: bold;
  26.       font-size: 14px;
  27.       margin-bottom: 8px;
  28.     }
  29.  
  30.     .track {
  31.       position: relative;
  32.       height: 20px;
  33.       background: #ddd;
  34.       border-radius: 10px;
  35.       overflow: hidden;
  36.     }
  37.  
  38.     .box {
  39.       width: 20px;
  40.       height: 20px;
  41.       background-color: #0077cc;
  42.       border-radius: 50%;
  43.       position: absolute;
  44.       top: 0;
  45.       left: 0;
  46.       animation-name: slide;
  47.       animation-duration: 3s;
  48.       animation-fill-mode: both;
  49.     }
  50.  
  51.     /* Timing custom con cubic-bezier */
  52.     .cb1 { animation-timing-function: cubic-bezier(0, 0, 1, 1); }          /* linear */
  53.     .cb2 { animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }  /* ease */
  54.     .cb3 { animation-timing-function: cubic-bezier(0.42, 0, 1, 1); }       /* ease-in */
  55.     .cb4 { animation-timing-function: cubic-bezier(0, 0, 0.58, 1); }       /* ease-out */
  56.     .cb5 { animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }    /* ease-in-out */
  57.     .cb6 { animation-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55); } /* overshoot */
  58.  
  59.     @keyframes slide {
  60.       0%   { left: 0; }
  61.       100% { left: calc(100% - 20px); }
  62.     }
  63.   </style>
  64. </head>
  65. <body>
  66.  
  67.   <h2>Esempi di <code>animation-timing-function</code> con <code>cubic-bezier(...)</code></h2>
  68.  
  69.   <div class="row">
  70.     <div class="label">linear – cubic-bezier(0, 0, 1, 1)</div>
  71.     <div class="track">
  72.       <div class="box cb1"></div>
  73.     </div>
  74.   </div>
  75.  
  76.   <div class="row">
  77.     <div class="label">ease (default) – cubic-bezier(0.25, 0.1, 0.25, 1)</div>
  78.     <div class="track">
  79.       <div class="box cb2"></div>
  80.     </div>
  81.   </div>
  82.  
  83.   <div class="row">
  84.     <div class="label">ease-in – cubic-bezier(0.42, 0, 1, 1)</div>
  85.     <div class="track">
  86.       <div class="box cb3"></div>
  87.     </div>
  88.   </div>
  89.  
  90.   <div class="row">
  91.     <div class="label">ease-out – cubic-bezier(0, 0, 0.58, 1)</div>
  92.     <div class="track">
  93.       <div class="box cb4"></div>
  94.     </div>
  95.   </div>
  96.  
  97.   <div class="row">
  98.     <div class="label">ease-in-out – cubic-bezier(0.42, 0, 0.58, 1)</div>
  99.     <div class="track">
  100.       <div class="box cb5"></div>
  101.     </div>
  102.   </div>
  103.  
  104.   <div class="row">
  105.     <div class="label">overshoot – cubic-bezier(0.68, -0.55, 0.27, 1.55)</div>
  106.     <div class="track">
  107.       <div class="box cb6"></div>
  108.     </div>
  109.   </div>
  110.  
  111. </body>
  112. </html>

Contenuto Esempio: animation-timing-function

Prova questo esempio

DEMO
PayPal DONATE

Note:
Le indicazioni dei Browser supportati sono superate grazie alla loro costante evoluzione, si consiglia di verificare la compatibilità dei vari browser eseguendo il test cliccando qui sotto.

Supporto Browser

Browser Support

I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies