Home

Awesome

React Fast Marquee

React Fast Marquee is a lightweight React component that harnesses the power of CSS animations to create silky smooth marquees.

npm npm downloads justin-chu codecov npm license npm bundle size npm type definitions

demogif

Demo

Check out the demo here and play around with some sample marquees.

Installation

If you're using npm, in the command prompt run:

npm install react-fast-marquee --save

If you're using yarn, run:

yarn add react-fast-marquee

Usage

To use the component, first import Marquee into your file:

import Marquee from "react-fast-marquee";

Then wrap the <Marquee> tags around any component or text you'd like to slide.

<Marquee>
  I can be a React component, multiple React components, or just some text.
</Marquee>

A sample file might look like this:

import React from "react";
import MyComponent from "../components/MyComponent";
import Marquee from "react-fast-marquee";

const App = () => (
  <Marquee>
    <MyComponent />
    <MyComponent />
    <MyComponent />
  </Marquee>
);

export default App;

Props

PropertyTypeDefaultDescription
styleCSSProperties{}Inline style for the container div
classNamestring""Name of the css class to style the container div
autoFillbooleanfalseWhether to automatically fill blank space in the marquee with copies of the children or not
playbooleantrueWhether to play or pause the marquee
pauseOnHoverbooleanfalseWhether to pause the marquee when hovered
pauseOnClickbooleanfalseWhether to pause the marquee when clicked
direction"left" | "right"| "up"| "down""left"The direction the marquee slides <br /><br /> Warning: Vertical marquees are currently experimental and may be buggy. Please swap the values of the marquee's height and width when setting them
speednumber50Speed calculated as pixels/second
delaynumber0Duration to delay the animation after render, in seconds
loopnumber0The number of times the marquee should loop, 0 is equivalent to infinite
gradientbooleanfalseWhether to show the gradient or not
gradientColorstringwhiteThe color of the gradient
gradientWidthnumber | string200The width of the gradient on either side
onFinish{() => void}nullA callback for when the marquee finishes scrolling and stops. Only calls if loop is non-zero.
onCycleComplete{() => void}nullA callback for when the marquee finishes a loop. Does not call if maximum loops are reached (use onFinish instead).
onMount{() => void}nullA callback function that is invoked once the marquee has finished mounting. It can be utilized to recalculate the page size, if necessary.
childrenReactNodenullThe children rendered inside the marquee