В Chakra UI границы играют ключевую роль в создании визуальной структуры интерфейса. Библиотека предоставляет удобные свойства для управления стилями границ компонентов, что позволяет быстро задавать толщину, стиль, цвет и радиус без необходимости писать кастомный CSS.
Chakra UI использует стандартные CSS-свойства для границ, обернутые в удобные пропсы:
thin, medium,
thick и числовые значения в пикселях.solid, dashed, dotted,
double, none.gray.200, blue.500.sm, md, lg, xl,
full.Пример использования в компоненте Box:
import { Box } from "@chakra-ui/react";
<Box
borderWidth="2px"
borderStyle="solid"
borderColor="blue.500"
borderRadius="md"
p={4}
>
Контент с границей
</Box>
Для более гибкого дизайна можно задавать границы по сторонам:
<Box
borderTop="4px dashed red"
borderBottom="2px solid gray.300"
borderLeft="none"
borderRight="1px solid black"
p={4}
>
Комбинированные границы
</Box>
Такой подход особенно полезен при создании карточек, разделителей или интерактивных элементов с акцентом на отдельные стороны.
Свойство borderRadius позволяет формировать как слегка закруглённые элементы, так и полностью круглые:
<Box
w="100px"
h="100px"
borderRadius="full"
bg="teal.400"
/>
Использование full автоматически делает элемент круглым,
если ширина и высота одинаковы. Для тонкой настройки можно использовать
числовые значения в пикселях:
<Box
borderRadius="12px"
p={4}
border="1px solid"
borderColor="gray.400"
>
Скруглённый блок
</Box>
Chakra UI интегрирован с темой, поэтому цвета и размеры границ можно задавать через токены, что обеспечивает единообразие интерфейса. Например:
<Box borderWidth="1px" borderColor="primary.500" borderRadius="lg" />
primary.500 берётся из темы приложения.lg для borderRadius соответствует заранее
заданной величине в теме.Использование токенов позволяет легко поддерживать дизайн-систему и изменять стили глобально.
Границы часто комбинируются с тенями, отступами и фоновой заливкой для создания визуальной глубины:
<Box
border="2px solid"
borderColor="gray.200"
borderRadius="md"
boxShadow="lg"
p={6}
bg="white"
>
Карточка с границей и тенью
</Box>
Такой подход обеспечивает чёткое разделение блоков интерфейса и визуально структурирует контент.
Chakra UI поддерживает responsive props, что позволяет изменять границы в зависимости от размеров экрана:
<Box
borderWidth={{ base: "1px", md: "2px", lg: "4px" }}
borderColor="blue.400"
borderRadius={{ base: "sm", md: "md", lg: "lg" }}
p={4}
>
Адаптивный блок
</Box>
Здесь для маленьких экранов граница тонкая, для больших — более выраженная. Это позволяет создавать гибкие макеты без написания медиазапросов вручную.
Гибкая система пропсов Chakra UI делает работу с границами интуитивной и быстрой. Комбинирование borderWidth, borderStyle, borderColor и borderRadius, а также интеграция с темой и адаптивными свойствами позволяет создавать разнообразные визуальные элементы, соблюдая единый стиль приложения.