Vuetify использует Material Design Color System, которая обеспечивает единообразие визуальных элементов и позволяет быстро управлять темами приложения. Цветовая система включает основные цвета, акцентные цвета, градации оттенков и поддержку светлых и тёмных тем.
Каждый проект Vuetify по умолчанию имеет набор основных цветов, включающий:
Цвета определяются не только названием, но и градациями
оттенков от lighten-5 до darken-4.
Например, primary lighten-2 создаёт светлый вариант
основного цвета.
Акцентные цвета (accent) применяются для кнопок,
чекбоксов, слайдеров и других интерактивных элементов. В Vuetify
доступно четыре стандартных акцента:
accent-1accent-2accent-3accent-4Каждый акцент связан с конкретной яркостью и насыщенностью, что позволяет выделять элементы интерфейса без нарушения гармонии цветовой палитры.
Vuetify поддерживает динамическое переключение тем:
const vuetify = createVuetify({
theme: {
defaultTheme: 'dark',
themes: {
light: {
colors: {
primary: '#1976D2',
secondary: '#424242',
success: '#4CAF50',
info: '#2196F3',
warning: '#FB8C00',
error: '#FF5252',
},
},
dark: {
colors: {
primary: '#2196F3',
secondary: '#FF5722',
success: '#4CAF50',
info: '#03A9F4',
warning: '#FFC107',
error: '#FF5252',
},
},
},
},
})
Тема влияет на все компоненты, автоматически подбирая контраст текста, кнопок и иконок.
Каждый базовый цвет Vuetify представлен в виде градаций, позволяющих создавать плавные переходы и выделять элементы. Формат:
<color> lighten-1
<color> lighten-2
<color> lighten-3
<color> lighten-4
<color> lighten-5
<color> darken-1
<color> darken-2
<color> darken-3
<color> darken-4
Пример использования в компоненте:
<v-btn color="primary lighten-2">Нажать</v-btn>
<v-alert type="error darken-1">Ошибка!</v-alert>
Vuetify позволяет добавлять свои цвета в тему через
объект themes:
const vuetify = createVuetify({
theme: {
themes: {
light: {
colors: {
brandBlue: '#1E88E5',
brandPink: '#E91E63',
},
},
},
},
})
Эти цвета можно использовать так же, как стандартные:
<v-btn color="brandBlue">.
Компоненты Vuetify поддерживают утилитарные классы для цветов, которые можно применять к тексту, фону и бордерам:
text-primary – цвет текста.bg-primary – цвет фона.border-primary – цвет рамки.Также доступны модификаторы градаций:
text-primary lighten-3,
bg-success darken-2.
Цвета можно менять на лету через реактивные переменные Vue:
<template>
<v-btn :color="currentColor">Кнопка</v-btn>
<v-switch v-model="darkTheme" label="Тёмная тема"/>
</template>
<script>
export default {
data() {
return {
darkTheme: false,
currentColor: 'primary',
}
},
watch: {
darkTheme(val) {
this.$vuetify.theme.global.name.value = val ? 'dark' : 'light'
}
}
}
</script>
Vuetify автоматически использует цветовую систему для состояний компонентов:
Vuetify интегрирован с официальными палитрами Material Design, что обеспечивает совместимость и единообразие:
red, red lighten-3,
red darken-1blue, blue lighten-2,
blue darken-3green, green lighten-1,
green darken-2Каждая палитра содержит 13 оттенков, включая стандартные
base, lighten и darken.
success, error, warning.text- и
bg- для быстрого изменения цвета без кастомизации
компонента.Эта система обеспечивает гибкость и масштабируемость интерфейса, позволяя создавать современный, яркий и функциональный дизайн с минимальными усилиями.