Customizable 3D text hover animation using Framer Motion

Rotating Text

Customizable 3D text hover animation. Created using Framer Motion. Respects user’s Reduced Motion preferences. Visit the demo here, optimized for Desktop.

Install

npm install --save rotating-text

Usage

text updates the content, ignoring spaces. stagger gives you control over the time between each letter. timing sets the duration of each letter animation. Timing can be a single numeric value OR a custom timing array, with a specific duration for each letter in the text (e.g. if text is OKAY, your custom timing array can look like [0.1, 0.4, 0.5, 0.1]).

You can use className and style to add further customization and styling.

import React, { Component } from 'react'

import RotatingText from 'rotating-text'
import 'rotating-text/dist/index.css'

function MyApp {
  return (
    <RotatingText
      text="HOVERME"
      stagger={0.1}
      timing={0.5}
      className="rotating-text"
      styles={{ fontSize: '100px' }}
    />
  )
}

Notes

  1. Text wrapping is currently not supported. RotatingText works best with a single word or short phrase, as spaces are ignored.

License

MIT © jueungrace

GitHub

View Github