Атрибут class тега <svg>
Описание
Атрибут class позволяет назначать один или несколько CSS-классов элементу <svg>. Классы используются для стилизации SVG-графики и управления её отображением через CSS.
<svg class="icon blue-icon" width="100" height="100" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="10" fill="currentColor"/>
</svg>
Синтаксис и правила:
| Параметр | Пример | Описание |
|---|---|---|
| Один класс | class="icon" |
Простое назначение одного класса |
| Несколько классов | class="icon large interactive" |
Перечисление через пробел |
| Специфичность | .icon.blue-icon |
Комбинация классов в CSS |
Пример стилизации через классы:
<style>
.icon {
transition: all 0.3s ease;
vertical-align: middle;
}
.blue-icon {
color: #3498db;
}
.large {
width: 48px;
height: 48px;
}
</style>
<svg class="icon blue-icon large" viewBox="0 0 24 24">
<path d="M12 2L4 12l8 10 8-10z"/>
</svg>
Преимущества использования:
- Переиспользование стилей для нескольких SVG
- Гибкое управление через CSS
- Состояния элемента (:hover, :active)
- Анимации и переходы с CSS
- Медиазапросы для адаптивности
Рекомендации:
- Используйте осмысленные имена классов
- Разделяйте стили для разных аспектов (размер, цвет, анимация)
- Придерживайтесь методологии именования (BEM, SMACSS)
- Используйте
currentColorдля наследования цвета
Ограничения:
- Некоторые SVG-атрибуты не стилизуются через CSS
- Поддержка CSS-свойств может отличаться в браузерах
- Вложенные SVG-элементы требуют отдельных классов
Примечание: Для сложных SVG-график комбинируйте классы на корневом SVG-элементе с классами внутренних элементов (path, circle и др.) для полного контроля над стилизацией.