🔲
A simple, fast, and beautiful fullscreen React image viewer using CSS transforms & opacity.
You've got a list of images that you want to allow users to click and expand into fullscreen mode.
React Fullscreen Image is a tiny library to render images that animate to fullscreen view when clicked.
A live demo can be viewed on CodeSandbox!
- Only animates transform and opacity properties.
- Keyboard event handlers (escape key, left/right arrow navigation).
- Handles outer click — anywhere outside of image when clicked will zoom image to its original position.
- Scrolling (with requestAnimationFrame) to a set boundary will zoom image to its original position.
React Fullscreen Image uses compound components. All <Image />
components nested within an <ImageGroup />
will be navigatable when in fullscreen mode.
import { ImageGroup, Image } from 'react-fullscreen-image'
const images = [
'some_image_url',
'some_image_url',
'some_image_url',
'some_image_url'
]
export default function App() {
return (
<ImageGroup>
<ul className="images">
{images.map(i => (
<li key={i}>
<Image
src={i}
alt="nature"
/>
</li>
))}
</ul>
</ImageGroup>
)
}
git clone https://github.com/timc1/react-fullscreen-image.git
cd react-fullscreen-image/example
yarn install
yarn start