Иконки в интерфейсах выполняют роль визуальных маркеров действий, состояний и категорий. В библиотеке Vuetify размеры иконок гибко управляются через свойства компонентов, CSS-классы и стили. Это позволяет адаптировать визуальные элементы под разные типы интерфейсов: панели инструментов, кнопки, карточки, списки и навигационные элементы.
Основной компонент для отображения иконок — v-icon.
Управление размером осуществляется несколькими способами:
Каждый подход имеет свои особенности и применяется в зависимости от архитектуры интерфейса.
Vuetify предоставляет несколько стандартных размеров, которые
задаются через булевые свойства компонента v-icon.
Используется для компактных интерфейсных элементов: списков, небольших кнопок и вспомогательных элементов.
<v-icon small>mdi-home</v-icon>
Размер такой иконки обычно составляет примерно 16px.
Типичные сценарии применения:
Если размер не указан, используется стандартный размер иконки.
<v-icon>mdi-home</v-icon>
Типичный размер — около 24px.
Этот размер является базовым для большинства интерфейсных элементов:
Используется для более заметных элементов интерфейса.
<v-icon large>mdi-home</v-icon>
Обычно соответствует размеру 36px.
Подходит для:
Предназначен для акцентных иконок.
<v-icon x-large>mdi-home</v-icon>
Типичный размер — 48px.
Применяется в следующих случаях:
Более гибкий способ управления — использование свойства
size. Оно принимает числовые значения или строковые
значения с единицами измерения.
<v-icon size="32">mdi-home</v-icon>
Vuetify интерпретирует число как значение в пикселях.
Поддерживаются стандартные CSS-единицы:
Пример:
<v-icon size="2rem">mdi-home</v-icon>
Такой подход удобен при использовании адаптивной типографики.
Иногда управление размером иконок требуется централизовать через стили. В таких случаях используются CSS-классы.
.icon-large {
font-size: 40px;
}
Применение:
<v-icon class="icon-large">mdi-home</v-icon>
Иконки в Vuetify основаны на шрифтах (например Material Design Icons), поэтому размер регулируется через свойство font-size.
В адаптивных интерфейсах размер иконок может изменяться в зависимости от разрешения экрана.
.responsive-icon {
font-size: 20px;
}
@media (min-width: 768px) {
.responsive-icon {
font-size: 28px;
}
}
@media (min-width: 1200px) {
.responsive-icon {
font-size: 36px;
}
}
Использование:
<v-icon class="responsive-icon">mdi-home</v-icon>
Такой подход позволяет:
Многие компоненты Vuetify автоматически управляют размером иконок внутри себя.
<v-btn icon>
<v-icon>mdi-heart</v-icon>
</v-btn>
Размер иконки будет соответствовать размеру кнопки.
Если кнопка увеличивается:
<v-btn icon large>
<v-icon>mdi-heart</v-icon>
</v-btn>
иконка масштабируется автоматически.
В компоненте v-list размеры иконок
стандартизированы.
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-folder</v-icon>
</v-list-item-icon>
<v-list-item-title>Документы</v-list-item-title>
</v-list-item>
Vuetify автоматически применяет оптимальный размер и выравнивание.
<v-text-field
label="Поиск"
prepend-icon="mdi-magnify"
></v-text-field>
Размер иконки синхронизируется с высотой поля ввода.
Использование относительных единиц позволяет привязывать размер иконок к типографике.
<v-icon size="1.5em">mdi-email</v-icon>
Если родительский элемент имеет размер шрифта 16px:
1.5em = 24px
Преимущества такого подхода:
Иконки могут наследовать размер шрифта родительского элемента.
<div style="font-size: 40px">
<v-icon>mdi-star</v-icon>
</div>
Иконка автоматически станет 40px.
Этот механизм используется при:
Vuetify поддерживает не только иконки-шрифты, но и SVG-иконки.
Пример:
<v-icon size="48">
<svg viewBox="0 0 24 24">
...
</svg>
</v-icon>
Размер контейнера v-icon управляет масштабированием
SVG.
Особенности:
В практике интерфейсного проектирования часто используются следующие размеры:
| Назначение | Размер |
|---|---|
| внутри текста | 16px |
| кнопки и формы | 20–24px |
| панели инструментов | 24–32px |
| карточки | 32–40px |
| акцентные элементы | 48px |
Такая система размеров формирует визуальную иерархию.
При разработке интерфейса важно придерживаться единых правил масштабирования иконок.
Основные принципы:
Нарушение этих принципов приводит к визуальному шуму и ухудшает восприятие интерфейса.
Слишком маленькие или слишком большие иконки ухудшают пользовательский опыт.
Проблемы:
Минимальный рекомендуемый размер — 16px.
Недостатки:
Обычно верхний предел для обычных интерфейсных элементов — 48px.
Интерфейс панели управления может использовать следующую систему размеров:
<!-- Маленькие иконки -->
<v-icon small>mdi-pencil</v-icon>
<!-- Стандартные -->
<v-icon>mdi-delete</v-icon>
<!-- Увеличенные -->
<v-icon large>mdi-chart-line</v-icon>
<!-- Акцентные -->
<v-icon size="48">mdi-rocket</v-icon>
Такая система формирует четкую визуальную иерархию элементов интерфейса и облегчает восприятие пользовательского интерфейса.