Border utilities в Vuetify — это набор классов для управления рамками элементов интерфейса. Они позволяют быстро добавлять, модифицировать или удалять границы, не прибегая к написанию кастомного CSS. Основное преимущество — единообразие и интеграция с системой дизайна Vuetify, где учитываются цвета темы, отступы и responsive-настройки.
Vuetify предоставляет несколько вариантов границ:
Полные границы (border) Добавляют
рамку вокруг всего элемента:
<v-card class="border">
Контент с рамкой
</v-card>
По умолчанию рамка использует цвет темы divider и
толщину 1px.
Горизонтальные и вертикальные границы
border-top — верхняя границаborder-bottom — нижняя границаborder-left — левая границаborder-right — правая граница<v-card class="border-bottom">
Только нижняя граница
</v-card>Скругленные углы и комбинирование с границами
Vuetify поддерживает совместное использование классов
border и rounded-*.
<v-card class="border rounded-lg">
Граница с большими скруглениями
</v-card>Цвет рамок легко меняется с помощью классов темы:
border-primary — рамка основного цветаborder-secondary — второстепенный цветborder-success, border-warning,
border-error, border-info — цветовые
акцентыborder-opacity-50 — прозрачность рамки 50%Пример комбинирования:
<v-card class="border border-success border-opacity-25">
Зеленая прозрачная рамка
</v-card>
Толщину можно менять с помощью классов
border-{size}:
border-0 — отсутствие границыborder-1 — 1pxborder-2 — 2pxborder-4 — 4pxborder-8 — 8pxПример:
<v-card class="border-4 border-warning">
Толстая рамка
</v-card>
Vuetify позволяет комбинировать стороны и толщину:
<v-card class="border-t-2 border-b-4 border-primary">
Верхняя граница 2px, нижняя 4px
</v-card>
Ключевой момент — префиксы сторон:
t — topb — bottoml — leftr — rightЕсли необходимо убрать границу для конкретной стороны, используется
класс border-{side}-0:
<v-card class="border border-t-0">
Рамка со всеми сторонами, кроме верхней
</v-card>
Vuetify поддерживает responsive-версии классов. Формат:
{breakpoint}:border-{side}-{size}
Примеры:
<v-card class="sm:border-2 md:border-4">
Рамка 2px на малых экранах, 4px на средних
</v-card>
<v-card class="lg:border-t-8">
Верхняя граница 8px только на больших экранах
</v-card>
Доступные брейкпоинты: xs, sm,
md, lg, xl.
Border utilities удобно использовать вместе с другими CSS-утилитами Vuetify:
pa-*,
ma-*)bg-*)elevation-*)Пример комплексного применения:
<v-card class="border-2 border-info rounded-lg pa-4 elevation-4">
Сложная карточка с рамкой, скруглением, паддингом и тенью
</v-card>
style только при
необходимости.Border utilities в Vuetify обеспечивают мощный инструмент для быстрой стилизации элементов интерфейса, минимизируя необходимость писать собственный CSS и полностью интегрируясь с темой и адаптивностью.