Компонент Card в библиотеке MUI представляет собой универсальный контейнер для организации и отображения информации в виде визуально отделённых блоков. Основная задача Card — структурировать контент, делая интерфейс удобным для восприятия и эстетически привлекательным.
Card состоит из нескольких логических частей:
CardHeader — заголовок карточки. Содержит текст, иконки действий и аватар. Пример использования:
<CardHeader
avatar={<Avatar aria-label="recipe">R</Avatar>}
title="Название карточки"
subheader="Подзаголовок"
/>
title отображает основной заголовок,
subheader — дополнительную информацию. avatar
позволяет вставить иконку или изображение.
CardMedia — медиа-контент, чаще всего изображение. Позволяет визуально выделить карточку.
<CardMedia
component="img"
height="140"
image="/static/images/cards/paella.jpg"
alt="Paella dish"
/>
Параметры component и height задают тип и
размеры, image — путь к файлу, alt —
альтернативный текст.
CardContent — основной текстовый контент. Используется для описания и любых текстовых данных.
<CardContent>
<Typography variant="body2" color="text.secondary">
Это пример описания карточки, демонстрирующий структуру компонента Card.
</Typography>
</CardContent>CardActions — область для действий пользователя, например кнопок.
<CardActions>
<Button size="small">Поделиться</Button>
<Button size="small">Подробнее</Button>
</CardActions>Card поддерживает настройку внешнего вида с помощью системных свойств MUI и встроенного стиля. Основные возможности:
Размеры: можно задать
sx={{ width: 300, height: 400 }} или использовать
style.
Отступы и тени: свойства elevation,
variant (outlined или elevation)
позволяют регулировать визуальную глубину.
<Card sx={{ maxWidth: 345 }} elevation={3}>
...
</Card>Цвет фона и бордер: через
sx={{ backgroundColor: '#f5f5f5', borderRadius: 2 }} можно
управлять цветовой палитрой и радиусом углов.
<Card sx={{ maxWidth: 345 }}>
<CardHeader title="Рецепт паэльи" subheader="Испанская кухня" />
<CardMedia
component="img"
height="194"
image="/static/images/cards/paella.jpg"
alt="Paella dish"
/>
<CardContent>
<Typography variant="body2" color="text.secondary">
Паэлья — традиционное испанское блюдо, приготовленное с рисом, шафраном и морепродуктами.
</Typography>
</CardContent>
<CardActions>
<Button size="small">Поделиться</Button>
<Button size="small">Подробнее</Button>
</CardActions>
</Card>
<Card sx={{ maxWidth: 345 }}>
<CardHeader
avatar={<Avatar aria-label="user">U</Avatar>}
action={<IconButton aria-label="settings"><MoreVertIcon /></IconButton>}
title="Пользовательский профиль"
subheader="Активен сегодня"
/>
<CardContent>
<Typography variant="body2" color="text.secondary">
Здесь отображается краткая информация о пользователе и его активности.
</Typography>
</CardContent>
</Card>
sx и Grid для адаптивного
отображения карточек в сетке.elevation или
variant="outlined".Card в MUI — мощный и гибкий инструмент для создания визуально структурированного и интерактивного контента, который легко интегрируется с остальными компонентами библиотеки и позволяет создавать как простые, так и сложные интерфейсные блоки.