Passa al contenuto principale

Ferris Wheel

Il Progetto

Ruota panoramica animata sviluppata con CSS Animations, @keyframes e transform avanzate. Un progetto che ha segnato un punto di svolta nel collegare Figma e codice.

Codice Sorgente

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ferris Wheel</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="wheel">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>

<div class="cabin"></div>
<div class="cabin"></div>
<div class="cabin"></div>
<div class="cabin"></div>
<div class="cabin"></div>
<div class="cabin"></div>
</div>
</body>
</html>

La Connessione Rivoluzionaria

Questo progetto è stato incredibile! Qui ho collegato Figma e codice come mai prima.

Come al solito non mi sono fermato a imparare solo ciò che insegnava freeCodeCamp, ma ho approfondito molte parti. Una in particolare su cui voglio soffermarmi è quella delle animazioni.

Approfondimento sulle Animazioni

Con questo progetto avrei dovuto imparare solo linear ed ease-in-out, ma ricordando i nomi ho deciso di approfondire le animazioni per conoscere tutte quelle studiate nel corso UI/UX di Breccia, creando una selezione completa da aggiungere all’handbook.

Tabella di Traduzione Figma → CSS

IN FIGMA LEGGOIN CSS SCRIVOQUANDO
Linearlinear🤖 Meccanico
Easeease😌 Naturale
Ease Inease-in🚀 Accelera
Ease Outease-out🛑 Rallenta
Ease In and Outease-in-out🎢 Fluido
Custom Beziercubic-bezier(0.87,0,0.24,0.99)🎭 Il tuo stile
Smart Animateanimation: name 300ms ease;🎬 Animare

Applicazione Pratica Immediata

È stato un passaggio importante che sarà sicuramente utile nella fase di prototipazione. Proprio ieri ho finito i wireframe per completare il corso Google UX 3, dove ho usato uno Smart Animate Custom Bezier con valori 0.87, 0, 0.24, 0.99 a 800ms che dava animazioni come un razzo che frena dolcemente.

Oggi ho imparato che posso tradurlo in CSS con:

animation: animationname 800ms cubic-bezier(0.87, 0, 0.24, 0.99);

Cosa Ho Imparato

CSS Animations:

  • @keyframes per definire le sequenze di animazione
  • animation-name, animation-duration, animation-iteration-count
  • animation-timing-function con tutte le varianti
  • transform-origin per punti di rotazione personalizzati

CSS Transforms:

  • rotate() per rotazioni precise
  • transform-origin per il controllo del punto di pivot
  • nth-of-type() per selezionare elementi specifici

Integrazione Figma–CSS:

  • Traduzione diretta da Smart Animate ad animazioni CSS
  • Bezier personalizzati per animazioni su misura
  • Timing perfetto tra prototipo e implementazione

Riflessione

Questo progetto ha dimostrato quanto sia potente non fermarsi ai requisiti minimi. Approfondire le animazioni mi permetterà di prototipare in Figma sapendo esattamente come implementare tutto in CSS. È l’unione perfetta tra design e sviluppo.


Prossimo progetto: Imparare i CSS Transforms costruendo un Pinguino