Un trucco con transition-duration e calc() per far sì che lo stato ritorni… in “infinito” tempo.

In UI e microinterazioni capita spesso di voler ottenere un effetto “sticky”: passi sopra un elemento, lui cambia stile… e quando te ne vai rimane così. Magari per segnalare l’ultimo elemento esplorato, per evidenziare una scelta o per lasciare una traccia visiva senza introdurre logica JavaScript.

In CSS c’è un trucco molto pulito per farlo: far durare la transizione di ritorno un tempo “infinito”.

L’idea

Una transizione ha due momenti: