Компонент Heading в Chakra UI используется для
создания заголовков различного уровня с поддержкой адаптивного дизайна,
темизации и стилизации. Он автоматически применяет семантические теги
HTML (h1–h6) в зависимости от свойства
as, что обеспечивает корректную структуру документа и
улучшает SEO.
По умолчанию Heading рендерится как h2, но
можно указать любой уровень с помощью пропса as:
import { Heading } from "@chakra-ui/react";
<Heading as="h1">Главный заголовок</Heading>
<Heading as="h2">Подзаголовок второго уровня</Heading>
<Heading as="h3">Заголовок третьего уровня</Heading>
as — задаёт семантический
HTML-тег.size.Chakra UI предоставляет встроенные размеры для заголовков через пропс size:
| Size | Описание |
|---|---|
xs |
Очень маленький заголовок |
sm |
Малый заголовок |
md |
Средний (по умолчанию для h2) |
lg |
Большой заголовок |
xl |
Очень большой заголовок |
2xl |
Максимальный заголовок |
Пример использования:
<Heading size="xl">Очень большой заголовок</Heading>
<Heading size="md">Средний заголовок</Heading>
<Heading size="sm">Малый заголовок</Heading>
Chakra UI полностью поддерживает темы и цветовые схемы. Для задания цвета текста используется пропс color:
<Heading color="teal.500">Заголовок с цветом темы</Heading>
<Heading color="red.400">Красный заголовок</Heading>
Цвета можно брать из дефолтной темы Chakra или определять кастомные в объекте темы. Для адаптации под светлую и тёмную темы используется свойство useColorModeValue.
import { useColorModeValue } from "@chakra-ui/react";
const color = useColorModeValue("gray.800", "whiteAlpha.900");
<Heading color={color}>Адаптивный заголовок</Heading>
Компонент Heading наследует все свойства стилизации
Text, включая:
normal,
medium, bold и числовые значения)uppercase, capitalize,
lowercase)Пример комплексной стилизации:
<Heading
as="h2"
size="lg"
fontWeight="semibold"
letterSpacing="wide"
lineHeight="short"
textTransform="uppercase"
>
Стилизованный заголовок
</Heading>
Chakra UI позволяет задавать адаптивные размеры и стили с помощью массива или объекта:
<Heading
size={{ base: "md", md: "xl", lg: "2xl" }}
>
Адаптивный заголовок
</Heading>
Часто заголовки размещаются в контейнерах Flex или
Box для управления отступами и выравниванием:
import { Box, Flex } from "@chakra-ui/react";
<Flex align="center" justify="space-between" mb={4}>
<Heading size="lg">Заголовок</Heading>
<Box>Дополнительный элемент</Box>
</Flex>
4 = 1rem по умолчанию)Заголовки можно комбинировать с иконками или другими элементами через
компонент HStack:
import { HStack, Icon } from "@chakra-ui/react";
import { MdStar } from "react-icons/md";
<HStack>
<Icon as={MdStar} color="yellow.400" />
<Heading size="lg">Заголовок с иконкой</Heading>
</HStack>
as обеспечивает семантическую
структуру документа.| Свойство | Тип | Описание |
|---|---|---|
as |
string | Семантический HTML-тег (h1–h6) |
size |
string | Размер заголовка (xs–2xl) |
color |
string | Цвет текста, поддержка темы |
fontWeight |
string/number | Толщина шрифта |
lineHeight |
string/number | Высота строки |
letterSpacing |
string | Межбуквенный интервал |
textTransform |
string | Преобразование текста |
noOfLines |
number | Ограничение количества строк с обрезкой текста |
Chakra UI делает создание заголовков гибким и простым, обеспечивая одновременную поддержку адаптивности, семантики и темизации, что позволяет строить интерфейсы с единым стилем и удобством для пользователя.