Image
The Image component is used to display images with support for fallback.
Import
import { Image } from "@chakra-ui/react";
Usage
<Box boxSize="sm">
<Image src="https://bit.ly/dan-abramov" alt="Dan Abramov" />
</Box>
Size
The size of the image can be adjusted using the boxSize prop.
<Stack direction="row">
<Image
boxSize="100px"
objectFit="cover"
src="https://bit.ly/dan-abramov"
alt="Dan Abramov"
/>
<Image
boxSize="150px"
objectFit="cover"
src="https://bit.ly/dan-abramov"
alt="Dan Abramov"
/>
<Image boxSize="200px" src="https://bit.ly/dan-abramov" alt="Dan Abramov" />
</Stack>
Image with border radius
<Image
borderRadius="full"
boxSize="150px"
src="https://bit.ly/dan-abramov"
alt="Dan Abramov"
/>
Fallback support
The Image component allows you provide a fallback placeholder. The placeholder
is displayed when:
- The
fallbackorfallbackSrcprop is provided - The image provided in
srcis currently loading - An error occurred while loading the image
src - No
srcprop was passed
You can also opt out of this behavior by passing the ignoreFallback prop.
<Image src="gibbresh.png" fallbackSrc="https://via.placeholder.com/150" />
Improvements from v1
Added support for the
fitprop to specify how to fit an image within its dimension. It uses theobject-fitproperty.Added support for the
alignprop to specify how to align the image within its dimension. It uses theobject-positionproperty.Added support for custom
fallbackcomponent.
Usage with SSR
import { Img } from "@chakra-ui/react";
The Img Component provides a fallback for SSR applications which uses the
image directly without client side checks.
Props
align
alignHow to align the image within its bounds. It maps to css `object-position` property.
SystemProps["objectPosition"]crossOrigin
crossOriginThe key used to set the crossOrigin on the HTMLImageElement into which the image will be loaded. This tells the browser to request cross-origin access when trying to download the image data.
"" | "anonymous" | "use-credentials"fallback
fallbackFallback element to show if image is loading or image fails.
React.ReactElementfallbackSrc
fallbackSrcFallback image src to show if image is loading or image fails.
Note 🚨: We recommend you use a local image
stringfallbackStrategy
fallbackStrategy- beforeLoadOrError(default): loads the fallbackImage while loading the src - onError: loads the fallbackImage only if there is an error fetching the src @see Issue https://github.com/chakra-ui/chakra-ui/issues/5581
FallbackStrategy"beforeLoadOrError"fit
fitHow the image to fit within its bounds. It maps to css `object-fit` property.
SystemProps["objectFit"]htmlHeight
htmlHeightThe native HTML height attribute to the passed to the img
string | numberhtmlWidth
htmlWidthThe native HTML width attribute to the passed to the img
string | numberignoreFallback
ignoreFallbackIf true, opt out of the fallbackSrc logic and use as img
booleanloading
loading"eager" | "lazy"onError
onErrorA callback for when there was an error loading the image src
ReactEventHandler<HTMLImageElement>onLoad
onLoadA callback for when the image src has been loaded
ReactEventHandler<HTMLImageElement>sizes
sizesThe image sizes attribute
stringsrc
srcThe image src attribute
stringsrcSet
srcSetThe image srcset attribute
string