Image
The Image component is used to display images with support for fallback.
Installation
npx nextui-cli@latest add image
The above command is for individual installation only. You may skip this step if @nextui-org/react is already installed globally.
Import
Usage
Blurred
You can use the isBlurred prop to duplicate the image and blur it to create a blurred effect.
Zoomed
You can use the isZoomed prop make the image zoomed when hovered.
Animated Loading
Image component has a built-in skeleton animation to indicate the image is loading and an
opacity animation when the image loads.
Note: The
URLuseshttps://app.requestly.io/delayto simulate a slow network.
Image with fallback
You can use the fallbackSrc prop to display a fallback image when:
- The fallbackSrcprop is provided.
- The image provided in srcis still loading.
- The image provided in srcfails to load.
- The image provided in srcis not found.
With Next.js Image
Next.js provides an optimized Image component,
you can use it with NextUI Image component as well.
Note: NextUI's
Imagecomponent isclient-side, using hooks likeuseStatefor loading states and animations. Use Next.jsImagealone if these features aren't required.
Slots
- img: Slot for the image element.
- wrapper: Image wrapper, it handles alignment, placement, and general appearance.
- zoomedWrapper: The wrapper slot for the zoomed image it avoids the image content to overflow the parent container.
- blurredImg: The wrapper slot for the duplicated blurred image.
API
Image Props
| Attribute | Type | Description | Default | 
|---|---|---|---|
| src | string | The image source. | - | 
| srcSet | string | The image srcSet. | - | 
| sizes | string | The image sizes. | - | 
| alt | string | The image alt. | - | 
| width | number | The image width. | - | 
| height | number | The image height. | - | 
| radius | none|sm|md|lg|full | The image border radius. | xl | 
| shadow | none|sm|md|lg | The image shadow. | none | 
| loading | eager|lazy | A loading strategy to use for the image. | - | 
| fallbackSrc | string | The fallback image source. | - | 
| isBlurred | boolean | Whether the image should have a duplicated blurred image at the background. | false | 
| isZoomed | boolean | Whether the image should be zoomed when hovered. | false | 
| removeWrapper | boolean | Whether to remove the wrapper element. This will cause the image to be rendered as a direct child of the parent element. If you set this prop as trueneither the skeleton nor the zoom effect will work. | false | 
| disableSkeleton | boolean | Whether the image should disable the skeleton animation while loading. | false | 
| classNames | Record<"img"| "wrapper"| "zoomedWrapper"| "blurredImg", string> | Allows to set custom class names for the image slots. | - | 
Image Events
| Attribute | Type | Description | 
|---|---|---|
| onLoad | ReactEventHandler<HTMLImageElement> | Handler that is called when the image load. | 
| onError | () => void | Handler that is called when the image fails to load. | 

