Hover effects and transitions

A well-crafted hover transition tells users that an element is interactive and makes the UI feel alive. This article shows you how to use the Effects pane to add smooth, performant transitions between an element’s default and hover states.

Opening the Effects pane

Select any element on the canvas, then click the Effects tab in the right-hand control panel. The Effects pane is divided into sections: Transition, Box Shadow, Text Shadow, Transform, and Filter. This article focuses on Transition.

The Transition section

The Transition section has four fields:

FieldWhat it controls
PropertyWhich CSS property animates (e.g., background-color, transform)
DurationHow long the animation takes (in seconds or milliseconds)
Timing functionThe acceleration curve of the animation
DelayHow long to wait before the animation begins

The pseudo-class workflow

Transitions don’t do anything on their own — they animate between two states. To set up a hover transition:

  1. Set the default styles

    Make sure your element looks correct in its default state (no hover). This is the “from” value.

  2. Add a transition

    In the Effects pane, set a transition. For example: Property background-color, Duration 0.2s, Timing ease.

  3. Enter :hover mode

    In the Style pane, click the pseudo-class selector dropdown and choose :hover. The canvas shows an indicator that you’re styling the hover state.

  4. Change the style

    Change the property you added a transition for — for example, change the background color. This is the “to” value.

  5. Exit :hover mode

    Click the pseudo-class selector and choose None. Preview in the browser to see the transition animate between the two states.

Common transition properties

  • background-color — color fills on buttons and cards
  • color — text color changes
  • transform — scale, translate, and rotate (see below)
  • opacity — fade in/out
  • border-color — form field focus rings and card borders
  • box-shadow — elevation changes on hover

Timing functions

The timing function controls how the animation accelerates over its duration.

ValueFeelBest for
easeSlow start, fast middle, slow endMost UI interactions (default)
ease-inSlow start, fast endElements leaving the screen
ease-outFast start, slow endElements entering the screen
ease-in-outSlow start and endExpanding/collapsing panels
linearConstant speedLooping animations, spinners
cubic-bezier(…)Custom curveFine-tuned brand motion

Duration guidelines

  • Micro-interactions (hover, focus, active): 150–300 ms. Shorter feels snappy; longer feels sluggish.
  • Larger motion (panels, modals, slide-ins): 300–500 ms.
  • Entrance animations: 400–600 ms.

If a transition feels too fast, add 50 ms. If it feels slow, remove 50 ms. Trust your eye.

Multiple transitions

To transition more than one property simultaneously, click Add transition in the Effects pane to add a second row. Each row is an independent transition declaration. For example, transitioning both background-color and transform gives you a combined color-and-scale hover effect.