Rotation Button Hover in Framer

Copy component

Copy component

Rotation Button Hover in Framer

Copy component

Nandi Muzsik

How can I improve Framer Uni?

Let me know if there’s a missing feature or something that could be improved.

Share feedback

Nandi Muzsik

How can I improve Framer Uni?

Let me know if there’s a missing feature or something that could be improved.

Share feedback

New

New

New

Component

Rotation Button Hover in Framer

This is a 3D rotation button hover component recreated in Framer from Widya’s original work. You can remix the project, tweak the rotations and bounce settings, or copy the component straight into your own site to add a playful spin interaction.

image of Nandi Muzsik
image of Prianca S.
Image of Widya

Created by

⁠Rotation Button Hover component landing hero
⁠Rotation Button Hover component landing hero
⁠Rotation Button Hover component landing hero

About the resource

To create this Rotation Button Hover component in Framer, I set it up inside a 3D space using the arms technique.

I used three arms: one for the default text, one for the fill frame, and one for the hover text that animates in. Each arm is positioned at 200% relative and rotated at different angles; 0°, -18°, and -35° so they sit in a stacked circular arrangement.

In the default state, the content inside the second and third arms is set to opacity 0. On hover, their opacity switches to 1 and their rotation animates to 0°, so everything aligns perfectly in the center. At the same time, the default text rotates further upward to around 25°, moving out of view.

I also used a helper text frame to define the button’s size and set the parent container to absolute 3D space to maintain proper perspective and layering.

For the animation, I connected variants with a hover interaction and applied a bouncy transition for that energetic feel. The hover text and fill animation have a slight delay and a slightly reduced bounce, achieved by overriding the transition on those specific arms in the hover variant — making the motion feel layered and intentional.

About the resource

To create this Rotation Button Hover component in Framer, I set it up inside a 3D space using the arms technique.

I used three arms: one for the default text, one for the fill frame, and one for the hover text that animates in. Each arm is positioned at 200% relative and rotated at different angles; 0°, -18°, and -35° so they sit in a stacked circular arrangement.

In the default state, the content inside the second and third arms is set to opacity 0. On hover, their opacity switches to 1 and their rotation animates to 0°, so everything aligns perfectly in the center. At the same time, the default text rotates further upward to around 25°, moving out of view.

I also used a helper text frame to define the button’s size and set the parent container to absolute 3D space to maintain proper perspective and layering.

For the animation, I connected variants with a hover interaction and applied a bouncy transition for that energetic feel. The hover text and fill animation have a slight delay and a slightly reduced bounce, achieved by overriding the transition on those specific arms in the hover variant — making the motion feel layered and intentional.

About the resource

To create this Rotation Button Hover component in Framer, I set it up inside a 3D space using the arms technique.

I used three arms: one for the default text, one for the fill frame, and one for the hover text that animates in. Each arm is positioned at 200% relative and rotated at different angles; 0°, -18°, and -35° so they sit in a stacked circular arrangement.

In the default state, the content inside the second and third arms is set to opacity 0. On hover, their opacity switches to 1 and their rotation animates to 0°, so everything aligns perfectly in the center. At the same time, the default text rotates further upward to around 25°, moving out of view.

I also used a helper text frame to define the button’s size and set the parent container to absolute 3D space to maintain proper perspective and layering.

For the animation, I connected variants with a hover interaction and applied a bouncy transition for that energetic feel. The hover text and fill animation have a slight delay and a slightly reduced bounce, achieved by overriding the transition on those specific arms in the hover variant — making the motion feel layered and intentional.

⁠Rotating button hover effect: Projects label to pill

The default and hover varaints of the rotation button component.

⁠Rotating button hover effect: Projects label to pill

The default and hover varaints of the rotation button component.

⁠Rotating button hover effect: Projects label to pill

The default and hover varaints of the rotation button component.

Framer Navigator

Learn the fundamentals of Framer for free.

Build your ideas with ease by learning the basics of website building with Framer.

Nandi portrait's background
Nandi's portrait

Framer Navigator

Learn the fundamentals of Framer for free.

Build your ideas with ease by learning the basics of website building with Framer.

Nandi portrait's background
Nandi's portrait

Framer Navigator

Learn the fundamentals of Framer for free.

Build your ideas with ease by learning the basics of website building with Framer.

Nandi portrait's background
Nandi's portrait

More resources

More resources

  • Framer Scribble Pad drawing canvas with smiley

    Scribble Pad Component in Framer

    Component

    Framer Scribble Pad drawing canvas with smiley

    Scribble Pad Component in Framer

    Component

    Framer Scribble Pad drawing canvas with smiley

    Scribble Pad Component in Framer

    Component

  • Interactive parallax image stack gallery with cursor

    Scramble Glitch Hover in Framer

    Component

    Interactive parallax image stack gallery with cursor

    Scramble Glitch Hover in Framer

    Component

    Interactive parallax image stack gallery with cursor

    Scramble Glitch Hover in Framer

    Component