Parallax
The main component for applying scroll effects based on an elements position within the viewport.
import { Parallax } from 'react-scroll-parallax';
Props
All props to configure the parallax element, like CSS effects, are documented and managed by the parallax-controller.
See all the parallax props that this component will accept.
Non Parallax Props
All other non-parallax props will be passed through to the <div>. Example with style and className:
<Parallax style={{ background: 'blue' }} className="test" />
<div style="background: blue" className="test"></div>
Children
Children are also accepted and rendered
<Parallax>
<h1>Hello</h1>
</Parallax>
Examples
Some basic example of how to use the <Parallax> component.
Speed Control
The speed prop that will make an element's scroll speed appear to speed up or slow down. This is the simplest way to achieve a parallax effect.
const SlowAndFast = () => (
<>
<Parallax speed={-5}>
<div className="slow" />
</Parallax>
<Parallax speed={5}>
<div className="fast" />
</Parallax>
</>
);
The speed prop simplifies the application of a translateX or translateY effect based on the ParallaxController scroll axis – See <ParallaxProvider /> Props
Translate Controls
If you need more fine tune control of the scroll position you can apply start and end transforms more directly. In this example the element begins with a translateY(-20%) and ends with translateY(10%)
const TranslateY = () => (
<Parallax translateY={[-20, 10]}>
<div className="my-thing" />
</Parallax>
);
Translate values without units default to % so -20 becomes -20%.