Reference
Image List
The Image List arranges a set of images in a structured grid format.
Image lists showcase a series of items in a consistent, repeating layout. They enhance the visual understanding of the content they contain.
Standard image list
Standard image lists are ideal for items of equal significance, featuring uniform container dimensions, aspect ratios, and spacing.
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; export default function StandardImageList() { return ( <ImageList sx={{ width: 500, height: 450 }} cols={3} rowHeight={164}> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=164&h=164&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=164&h=164&fit=crop&auto=format`} alt={item.title} loading="lazy" /> </ImageListItem> ))} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1551963831-b3b1ca40c98e', title: 'Breakfast', }, { img: 'https://images.unsplash.com/photo-1551782450-a2132b4ba21d', title: 'Burger', }, { img: 'https://images.unsplash.com/photo-1522770179533-24471fcdba45', title: 'Camera', }, { img: 'https://images.unsplash.com/photo-1444418776041-9c7e33cc5a9c', title: 'Coffee', }, { img: 'https://images.unsplash.com/photo-1533827432537-70133748f5c8', title: 'Hats', }, { img: 'https://images.unsplash.com/photo-1558642452-9d2a7deb7f62', title: 'Honey', }, { img: 'https://images.unsplash.com/photo-1516802273409-68526ee1bdd6', title: 'Basketball', }, { img: 'https://images.unsplash.com/photo-1518756131217-31eb79b20e8f', title: 'Fern', }, { img: 'https://images.unsplash.com/photo-1597645587822-e99fa5d45d25', title: 'Mushrooms', }, { img: 'https://images.unsplash.com/photo-1567306301408-9b74779a11af', title: 'Tomato basil', }, { img: 'https://images.unsplash.com/photo-1471357674240-e1a485acb3e1', title: 'Sea star', }, { img: 'https://images.unsplash.com/photo-1589118949245-7d38baf380d6', title: 'Bike', }, ];
Quilted image list
Quilted image lists highlight specific items within a collection by using varied container sizes and aspect ratios to establish a visual hierarchy.
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; function srcset(image: string, size: number, rows = 1, cols = 1) { return { src: `${image}?w=${size * cols}&h=${size * rows}&fit=crop&auto=format`, srcSet: `${image}?w=${size * cols}&h=${ size * rows }&fit=crop&auto=format&dpr=2 2x`, }; } export default function QuiltedImageList() { return ( <ImageList sx={{ width: 500, height: 450 }} variant="quilted" cols={4} rowHeight={121} > {itemData.map((item) => ( <ImageListItem key={item.img} cols={item.cols || 1} rows={item.rows || 1}> <img {...srcset(item.img, 121, item.rows, item.cols)} alt={item.title} loading="lazy" /> </ImageListItem> ))} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1551963831-b3b1ca40c98e', title: 'Breakfast', rows: 2, cols: 2, }, { img: 'https://images.unsplash.com/photo-1551782450-a2132b4ba21d', title: 'Burger', }, { img: 'https://images.unsplash.com/photo-1522770179533-24471fcdba45', title: 'Camera', }, { img: 'https://images.unsplash.com/photo-1444418776041-9c7e33cc5a9c', title: 'Coffee', cols: 2, }, { img: 'https://images.unsplash.com/photo-1533827432537-70133748f5c8', title: 'Hats', cols: 2, }, { img: 'https://images.unsplash.com/photo-1558642452-9d2a7deb7f62', title: 'Honey', author: '@arwinneil', rows: 2, cols: 2, }, { img: 'https://images.unsplash.com/photo-1516802273409-68526ee1bdd6', title: 'Basketball', }, { img: 'https://images.unsplash.com/photo-1518756131217-31eb79b20e8f', title: 'Fern', }, { img: 'https://images.unsplash.com/photo-1597645587822-e99fa5d45d25', title: 'Mushrooms', rows: 2, cols: 2, }, { img: 'https://images.unsplash.com/photo-1567306301408-9b74779a11af', title: 'Tomato basil', }, { img: 'https://images.unsplash.com/photo-1471357674240-e1a485acb3e1', title: 'Sea star', }, { img: 'https://images.unsplash.com/photo-1589118949245-7d38baf380d6', title: 'Bike', cols: 2, }, ];
Woven image list
Woven image lists employ alternating container ratios to produce a dynamic, rhythmic layout, making them suitable for exploring peer content.
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; export default function WovenImageList() { return ( <ImageList sx={{ width: 500, height: 450 }} variant="woven" cols={3} gap={8}> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=161&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=161&fit=crop&auto=format`} alt={item.title} loading="lazy" /> </ImageListItem> ))} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1549388604-817d15aa0110', title: 'Bed', }, { img: 'https://images.unsplash.com/photo-1563298723-dcfebaa392e3', title: 'Kitchen', }, { img: 'https://images.unsplash.com/photo-1523413651479-597eb2da0ad6', title: 'Sink', }, { img: 'https://images.unsplash.com/photo-1525097487452-6278ff080c31', title: 'Books', }, { img: 'https://images.unsplash.com/photo-1574180045827-681f8a1a9622', title: 'Chairs', }, { img: 'https://images.unsplash.com/photo-1597262975002-c5c3b14bbd62', title: 'Candle', }, { img: 'https://images.unsplash.com/photo-1530731141654-5993c3016c77', title: 'Laptop', }, { img: 'https://images.unsplash.com/photo-1481277542470-605612bd2d61', title: 'Doors', }, { img: 'https://images.unsplash.com/photo-1517487881594-2787fef5ebf7', title: 'Coffee', }, { img: 'https://images.unsplash.com/photo-1516455207990-7a41ce80f7ee', title: 'Storage', }, { img: 'https://images.unsplash.com/photo-1519710164239-da123dc03ef4', title: 'Coffee table', }, { img: 'https://images.unsplash.com/photo-1588436706487-9d55d73a39e3', title: 'Blinds', }, ];
Masonry image list
Masonry image lists feature container heights that adapt to the aspect ratio of each image, ideal for browsing uncropped peer content.
import * as React from 'react'; import Box from '@mui/material/Box'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; export default function MasonryImageList() { return ( <Box sx={{ width: 500, height: 450, overflowY: 'scroll' }}> <ImageList variant="masonry" cols={3} gap={8}> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=248&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=248&fit=crop&auto=format`} alt={item.title} loading="lazy" /> </ImageListItem> ))} </ImageList> </Box> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1549388604-817d15aa0110', title: 'Bed', }, { img: 'https://images.unsplash.com/photo-1525097487452-6278ff080c31', title: 'Books', }, { img: 'https://images.unsplash.com/photo-1523413651479-597eb2da0ad6', title: 'Sink', }, { img: 'https://images.unsplash.com/photo-1563298723-dcfebaa392e3', title: 'Kitchen', }, { img: 'https://images.unsplash.com/photo-1588436706487-9d55d73a39e3', title: 'Blinds', }, { img: 'https://images.unsplash.com/photo-1574180045827-681f8a1a9622', title: 'Chairs', }, { img: 'https://images.unsplash.com/photo-1530731141654-5993c3016c77', title: 'Laptop', }, { img: 'https://images.unsplash.com/photo-1481277542470-605612bd2d61', title: 'Doors', }, { img: 'https://images.unsplash.com/photo-1517487881594-2787fef5ebf7', title: 'Coffee', }, { img: 'https://images.unsplash.com/photo-1516455207990-7a41ce80f7ee', title: 'Storage', }, { img: 'https://images.unsplash.com/photo-1597262975002-c5c3b14bbd62', title: 'Candle', }, { img: 'https://images.unsplash.com/photo-1519710164239-da123dc03ef4', title: 'Coffee table', }, ];
Image list with title bars
This example illustrates the use of
ImageListItemBar
to add an overlay to each item, supporting a title
, subtitle
, and a secondary action, such as an IconButton
.- December
- Breakfast@bkristastucchio
- Burger@rollelflex_graphy726
- Camera@helloimnik
- Coffee@nolanissac
- Hats@hjrc33
- Honey@arwinneil
- Basketball@tjdragotta
- Fern@katie_wasserman
- Mushrooms@silverdalex
- Tomato basil@shelleypauls
- Sea star@peterlaster
- Bike@southside_customs
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; import ImageListItemBar from '@mui/material/ImageListItemBar'; import ListSubheader from '@mui/material/ListSubheader'; import IconButton from '@mui/material/IconButton'; import InfoIcon from '@mui/icons-material/Info'; export default function TitlebarImageList() { return ( <ImageList sx={{ width: 500, height: 450 }}> <ImageListItem key="Subheader" cols={2}> <ListSubheader component="div">December</ListSubheader> </ImageListItem> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=248&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=248&fit=crop&auto=format`} alt={item.title} loading="lazy" /> <ImageListItemBar title={item.title} subtitle={item.author} actionIcon={ <IconButton sx={{ color: 'rgba(255, 255, 255, 0.54)' }} aria-label={`info about ${item.title}`} > <InfoIcon /> </IconButton> } /> </ImageListItem> ))} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1551963831-b3b1ca40c98e', title: 'Breakfast', author: '@bkristastucchio', rows: 2, cols: 2, featured: true, }, { img: 'https://images.unsplash.com/photo-1551782450-a2132b4ba21d', title: 'Burger', author: '@rollelflex_graphy726', }, { img: 'https://images.unsplash.com/photo-1522770179533-24471fcdba45', title: 'Camera', author: '@helloimnik', }, { img: 'https://images.unsplash.com/photo-1444418776041-9c7e33cc5a9c', title: 'Coffee', author: '@nolanissac', cols: 2, }, { img: 'https://images.unsplash.com/photo-1533827432537-70133748f5c8', title: 'Hats', author: '@hjrc33', cols: 2, }, { img: 'https://images.unsplash.com/photo-1558642452-9d2a7deb7f62', title: 'Honey', author: '@arwinneil', rows: 2, cols: 2, featured: true, }, { img: 'https://images.unsplash.com/photo-1516802273409-68526ee1bdd6', title: 'Basketball', author: '@tjdragotta', }, { img: 'https://images.unsplash.com/photo-1518756131217-31eb79b20e8f', title: 'Fern', author: '@katie_wasserman', }, { img: 'https://images.unsplash.com/photo-1597645587822-e99fa5d45d25', title: 'Mushrooms', author: '@silverdalex', rows: 2, cols: 2, }, { img: 'https://images.unsplash.com/photo-1567306301408-9b74779a11af', title: 'Tomato basil', author: '@shelleypauls', }, { img: 'https://images.unsplash.com/photo-1471357674240-e1a485acb3e1', title: 'Sea star', author: '@peterlaster', }, { img: 'https://images.unsplash.com/photo-1589118949245-7d38baf380d6', title: 'Bike', author: '@southside_customs', cols: 2, }, ];
Title bar below image (standard)
The title bar can be positioned beneath the image.
- Breakfastby: @bkristastucchio
- Burgerby: @rollelflex_graphy726
- Cameraby: @helloimnik
- Coffeeby: @nolanissac
- Hatsby: @hjrc33
- Honeyby: @arwinneil
- Basketballby: @tjdragotta
- Fernby: @katie_wasserman
- Mushroomsby: @silverdalex
- Tomato basilby: @shelleypauls
- Sea starby: @peterlaster
- Bikeby: @southside_customs
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; import ImageListItemBar from '@mui/material/ImageListItemBar'; export default function TitlebarBelowImageList() { return ( <ImageList sx={{ width: 500, height: 450 }}> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=248&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=248&fit=crop&auto=format`} alt={item.title} loading="lazy" /> <ImageListItemBar title={item.title} subtitle={<span>by: {item.author}</span>} position="below" /> </ImageListItem> ))} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1551963831-b3b1ca40c98e', title: 'Breakfast', author: '@bkristastucchio', }, { img: 'https://images.unsplash.com/photo-1551782450-a2132b4ba21d', title: 'Burger', author: '@rollelflex_graphy726', }, { img: 'https://images.unsplash.com/photo-1522770179533-24471fcdba45', title: 'Camera', author: '@helloimnik', }, { img: 'https://images.unsplash.com/photo-1444418776041-9c7e33cc5a9c', title: 'Coffee', author: '@nolanissac', }, { img: 'https://images.unsplash.com/photo-1533827432537-70133748f5c8', title: 'Hats', author: '@hjrc33', }, { img: 'https://images.unsplash.com/photo-1558642452-9d2a7deb7f62', title: 'Honey', author: '@arwinneil', }, { img: 'https://images.unsplash.com/photo-1516802273409-68526ee1bdd6', title: 'Basketball', author: '@tjdragotta', }, { img: 'https://images.unsplash.com/photo-1518756131217-31eb79b20e8f', title: 'Fern', author: '@katie_wasserman', }, { img: 'https://images.unsplash.com/photo-1597645587822-e99fa5d45d25', title: 'Mushrooms', author: '@silverdalex', }, { img: 'https://images.unsplash.com/photo-1567306301408-9b74779a11af', title: 'Tomato basil', author: '@shelleypauls', }, { img: 'https://images.unsplash.com/photo-1471357674240-e1a485acb3e1', title: 'Sea star', author: '@peterlaster', }, { img: 'https://images.unsplash.com/photo-1589118949245-7d38baf380d6', title: 'Bike', author: '@southside_customs', }, ];
Title bar below image (masonry)
- swabdesign
- Pavel Nekoranec
- Charles Deluvio
- Christian Mackie
- Darren Richardson
- Taylor Simpson
- Ben Kolde
- Philipp Berndt
- Jen P.
- Douglas Sheppard
- Fi Bell
- Hutomo Abrianto
import * as React from 'react'; import Box from '@mui/material/Box'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; import ImageListItemBar from '@mui/material/ImageListItemBar'; export default function TitlebarBelowMasonryImageList() { return ( <Box sx={{ width: 500, height: 450, overflowY: 'scroll' }}> <ImageList variant="masonry" cols={3} gap={8}> {itemData.map((item) => ( <ImageListItem key={item.img}> <img srcSet={`${item.img}?w=248&fit=crop&auto=format&dpr=2 2x`} src={`${item.img}?w=248&fit=crop&auto=format`} alt={item.title} loading="lazy" /> <ImageListItemBar position="below" title={item.author} /> </ImageListItem> ))} </ImageList> </Box> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1549388604-817d15aa0110', title: 'Bed', author: 'swabdesign', }, { img: 'https://images.unsplash.com/photo-1525097487452-6278ff080c31', title: 'Books', author: 'Pavel Nekoranec', }, { img: 'https://images.unsplash.com/photo-1523413651479-597eb2da0ad6', title: 'Sink', author: 'Charles Deluvio', }, { img: 'https://images.unsplash.com/photo-1563298723-dcfebaa392e3', title: 'Kitchen', author: 'Christian Mackie', }, { img: 'https://images.unsplash.com/photo-1588436706487-9d55d73a39e3', title: 'Blinds', author: 'Darren Richardson', }, { img: 'https://images.unsplash.com/photo-1574180045827-681f8a1a9622', title: 'Chairs', author: 'Taylor Simpson', }, { img: 'https://images.unsplash.com/photo-1530731141654-5993c3016c77', title: 'Laptop', author: 'Ben Kolde', }, { img: 'https://images.unsplash.com/photo-1481277542470-605612bd2d61', title: 'Doors', author: 'Philipp Berndt', }, { img: 'https://images.unsplash.com/photo-1517487881594-2787fef5ebf7', title: 'Coffee', author: 'Jen P.', }, { img: 'https://images.unsplash.com/photo-1516455207990-7a41ce80f7ee', title: 'Storage', author: 'Douglas Sheppard', }, { img: 'https://images.unsplash.com/photo-1597262975002-c5c3b14bbd62', title: 'Candle', author: 'Fi Bell', }, { img: 'https://images.unsplash.com/photo-1519710164239-da123dc03ef4', title: 'Coffee table', author: 'Hutomo Abrianto', }, ];
Custom image list
This example features items with a customized titlebar at the top, using a custom gradient
titleBackground
. The secondary action IconButton
is placed on the left, and the gap
prop adjusts the spacing between items.- Breakfast
- Burger
- Camera
- Coffee
- Hats
- Honey
- Basketball
- Fern
- Mushrooms
- Tomato basil
- Sea star
- Bike
import * as React from 'react'; import ImageList from '@mui/material/ImageList'; import ImageListItem from '@mui/material/ImageListItem'; import ImageListItemBar from '@mui/material/ImageListItemBar'; import IconButton from '@mui/material/IconButton'; import StarBorderIcon from '@mui/icons-material/StarBorder'; function srcset(image: string, width: number, height: number, rows = 1, cols = 1) { return { src: `${image}?w=${width * cols}&h=${height * rows}&fit=crop&auto=format`, srcSet: `${image}?w=${width * cols}&h=${ height * rows }&fit=crop&auto=format&dpr=2 2x`, }; } export default function CustomImageList() { return ( <ImageList sx={{ width: 500, height: 450, // Elevate the list to its own layer in Chrome. This uses more memory but maintains high FPS. transform: 'translateZ(0)', }} rowHeight={200} gap={1} > {itemData.map((item) => { const cols = item.featured ? 2 : 1; const rows = item.featured ? 2 : 1; return ( <ImageListItem key={item.img} cols={cols} rows={rows}> <img {...srcset(item.img, 250, 200, rows, cols)} alt={item.title} loading="lazy" /> <ImageListItemBar sx={{ background: 'linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, ' + 'rgba(0,0,0,0.3) 70%, rgba(0,0,0,0) 100%)', }} title={item.title} position="top" actionIcon={ <IconButton sx={{ color: 'white' }} aria-label={`star ${item.title}`} > <StarBorderIcon /> </IconButton> } actionPosition="left" /> </ImageListItem> ); })} </ImageList> ); } const itemData = [ { img: 'https://images.unsplash.com/photo-1551963831-b3b1ca40c98e', title: 'Breakfast', author: '@bkristastucchio', featured: true, }, { img: 'https://images.unsplash.com/photo-1551782450-a2132b4ba21d', title: 'Burger', author: '@rollelflex_graphy726', }, { img: 'https://images.unsplash.com/photo-1522770179533-24471fcdba45', title: 'Camera', author: '@helloimnik', }, { img: 'https://images.unsplash.com/photo-1444418776041-9c7e33cc5a9c', title: 'Coffee', author: '@nolanissac', }, { img: 'https://images.unsplash.com/photo-1533827432537-70133748f5c8', title: 'Hats', author: '@hjrc33', }, { img: 'https://images.unsplash.com/photo-1558642452-9d2a7deb7f62', title: 'Honey', author: '@arwinneil', featured: true, }, { img: 'https://images.unsplash.com/photo-1516802273409-68526ee1bdd6', title: 'Basketball', author: '@tjdragotta', }, { img: 'https://images.unsplash.com/photo-1518756131217-31eb79b20e8f', title: 'Fern', author: '@katie_wasserman', }, { img: 'https://images.unsplash.com/photo-1597645587822-e99fa5d45d25', title: 'Mushrooms', author: '@silverdalex', }, { img: 'https://images.unsplash.com/photo-1567306301408-9b74779a11af', title: 'Tomato basil', author: '@shelleypauls', }, { img: 'https://images.unsplash.com/photo-1471357674240-e1a485acb3e1', title: 'Sea star', author: '@peterlaster', }, { img: 'https://images.unsplash.com/photo-1589118949245-7d38baf380d6', title: 'Bike', author: '@southside_customs', }, ];