Chakra UI предоставляет мощный и гибкий способ работы с границами и радиусами углов элементов, используя системные свойства и утилиты для быстрого прототипирования и консистентного дизайна.
borderСвойство border в Chakra UI позволяет задавать ширину,
стиль и цвет границы в одной строке:
<Box border="2px solid" borderColor="blue.500">
Пример границы
</Box>
border="2px solid" задаёт толщину и стиль границы.borderColor="blue.500" задаёт цвет границы, используя
палитру темы Chakra UI.Можно также задавать границы отдельно для каждой стороны:
<Box borderTop="4px dashed" borderRight="2px solid" borderColor="red.400">
Разные границы для сторон
</Box>
Ключевые свойства для границ:
borderWidth — ширина границы (1px,
2px, 0.5rem и т.д.).borderStyle — стиль границы (solid,
dashed, dotted, none).borderColor — цвет границы (можно использовать цветовую
палитру темы).borderTop, borderBottom,
borderLeft, borderRight — индивидуальные
границы для каждой стороны.borderRadius)borderRadius отвечает за скругление углов элементов.
Chakra UI предоставляет как системные значения из темы, так и
возможность использовать кастомные значения:
<Box border="1px solid" borderRadius="md" p={4}>
Скруглённые углы среднего размера
</Box>
Стандартные значения в теме:
sm — маленький радиусmd — средний радиусlg — большой радиусxl, 2xl — ещё более выраженное
скруглениеfull — полностью круглая форма (например, для
аватаров)Для более точного контроля можно использовать пиксели, проценты или ремы:
<Box border="1px solid" borderRadius="16px" p={4}>
Пользовательский радиус 16px
</Box>
Chakra UI позволяет задавать скругления для каждого угла отдельно:
borderTopLeftRadiusborderTopRightRadiusborderBottomLeftRadiusborderBottomRightRadiusПример:
<Box
border="2px solid"
borderTopLeftRadius="lg"
borderBottomRightRadius="xl"
p={4}
>
Разные радиусы углов
</Box>
Это особенно удобно для создания асимметричных элементов, карточек или кнопок с нестандартной формой.
Для ускорения разработки Chakra UI поддерживает сокращённые свойства:
borderX — задаёт границу слева и справаborderY — задаёт границу сверху и снизуПример:
<Box borderX="4px solid" borderY="2px dashed" borderColor="green.500" p={4}>
Горизонтальные и вертикальные границы
</Box>
Цвет границы и фона можно задавать через тему Chakra UI. Это позволяет легко поддерживать консистентность интерфейса и использовать динамические значения:
<Box
border="2px solid"
borderColor="teal.300"
borderRadius="xl"
bg="teal.50"
p={6}
>
Тема и границы
</Box>
Здесь teal.300 и teal.50 берутся из палитры
темы, что гарантирует гармоничный цветовой контраст.
Chakra UI поддерживает адаптивные значения через массивы или объекты:
<Box
border="2px solid"
borderColor="purple.400"
borderRadius={{ base: "sm", md: "lg" }}
p={4}
>
Адаптивные радиусы
</Box>
base — для всех экрановmd — для средних и больших экрановМожно использовать и сокращённый синтаксис массивов:
[sm, md, lg], где каждый элемент соответствует
брейкпоинту.
Для создания более выразительных элементов границы можно сочетать с тенью:
<Box
border="1px solid"
borderColor="gray.300"
borderRadius="lg"
boxShadow="md"
p={6}
>
Граница с тенью
</Box>
boxShadow усиливает визуальное разделение элементов, при
этом скругление углов остаётся наглядным.
Настройка границ и радиусов в Chakra UI — это мощный инструмент, который сочетает простоту и гибкость, позволяя создавать элементы интерфейса с консистентным и выразительным дизайном.