Компонент Divider используется для визуального разделения контента внутри интерфейса. Он является тонкой линией, которая помогает структурировать элементы, создавая логические границы между секциями, группами или отдельными компонентами. В Chakra UI Divider реализован как гибкий и настраиваемый компонент, полностью совместимый с системой стилей библиотеки.
Базовое использование Divider минимально и выглядит следующим образом:
import { Divider, Box, Text } from "@chakra-ui/react";
function Example() {
return (
<Box>
<Text>Первый блок контента</Text>
<Divider />
<Text>Второй блок контента</Text>
</Box>
);
}
По умолчанию Divider создаёт горизонтальную линию, которая занимает всю ширину контейнера. Она автоматически адаптируется к теме Chakra UI, наследуя цвета из палитры.
Divider поддерживает как горизонтальное, так и вертикальное разделение.
Горизонтальный Divider — используется по умолчанию:
<Divider orientation="horizontal" />
Вертикальный Divider — применяется для разделения контента в строке:
<Box display="flex" alignItems="center">
<Text>Левая колонка</Text>
<Divider orientation="vertical" height="40px" mx={4} />
<Text>Правая колонка</Text>
</Box>
Ключевые моменты при вертикальном Divider:
Компонент поддерживает все системные стили Chakra UI, включая цвет и толщину линии:
<Divider borderColor="gray.400" borderWidth="2px" />
1px.Chakra UI предоставляет широкий набор props для кастомизации Divider:
horizontal или
vertical.my, mx, m, p).flexItem позволяет линии
адаптироваться к размерам соседних элементов.Пример использования flexItem:
<Box display="flex" alignItems="center">
<Text>Левая часть</Text>
<Divider orientation="vertical" flexItem mx={4} />
<Text>Правая часть</Text>
</Box>
Divider может отображать текст, разделяющий контент, что часто используется для указания логических границ между секциями:
<Divider orientation="horizontal" my={4}>
OR
</Divider>
Особенности:
Компонент Divider автоматически адаптируется под текущую тему, если используется системный цвет:
<Divider borderColor="gray.200" _dark={{ borderColor: "gray.600" }} />
Divider часто используется совместно с компонентами Box, Stack и Flex для создания сложной структуры интерфейса:
<Box p={5}>
<Stack spacing={4}>
<Text>Секция 1</Text>
<Divider />
<Text>Секция 2</Text>
<Divider />
<Text>Секция 3</Text>
</Stack>
</Box>
Использование Divider повышает читаемость интерфейса и структурирует контент без необходимости создания дополнительных стилей вручную, полностью интегрируясь в систему Chakra UI.