How to align the image within its bounds. It maps to css `object-position` property.
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'><ImageboxSize='100px'objectFit='cover'src='https://bit.ly/dan-abramov'alt='Dan Abramov'/><ImageboxSize='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#
<ImageborderRadius='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
alignResponsiveValue<ObjectPosition<Length>>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.
ReactElement<any, string | JSXElementConstructor<any>>fallbackSrc
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
FallbackStrategybeforeLoadOrErrorfit
fitHow the image to fit within its bounds. It maps to css `object-fit` property.
ResponsiveValue<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
booleanfalseloading
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