Атрибут style тега <map>
Описание
Атрибут style для тега <map> позволяет задавать CSS-стили непосредственно для элемента карты изображения. Хотя сам тег <map> не отображается визуально, стили могут влиять на его дочерние элементы <area>.
<img src="computer.png" alt="Компьютер" usemap="#computer-map">
<map id="computer-map" style="cursor: help;">
<area shape="rect" coords="28,28,140,120" alt="Монитор" href="#monitor">
<area shape="rect" coords="150,150,280,220" alt="Клавиатура" href="#keyboard">
</map>
Особенности работы:
| Свойство CSS | Эффект | Применяемость |
|---|---|---|
cursor |
Изменяет вид курсора при наведении | Наследуется элементами <area> |
pointer-events |
Управляет реакцией на события мыши | Может отключать области |
display |
Не влияет на видимость карты | Ограниченная поддержка |
Рекомендации по использованию:
- Используйте для глобальных стилей всех областей карты
- Лучше задавать стили через CSS-классы для лучшей поддержки
- Тестируйте на разных устройствах - некоторые стили могут не работать
- Избегайте сложной стилизации, которая может запутать пользователей
Пример с CSS-классом:
<style>
.interactive-map {
cursor: crosshair;
}
.interactive-map area:hover {
outline: 2px solid red;
}
</style>
<img src="scheme.png" alt="Схема" usemap="#scheme-map">
<map id="scheme-map" class="interactive-map">
<area shape="poly" coords="..." alt="Блок 1" href="#block1">
<area shape="poly" coords="..." alt="Блок 2" href="#block2">
</map>
Ограничения и совместимость:
- Не все CSS-свойства поддерживаются для элементов карты
- Стилизация через
styleимеет более высокий приоритет - В некоторых браузерах стили могут применяться некорректно
- Для сложных эффектов лучше использовать JavaScript
Примечание: Хотя атрибут style можно использовать с тегом <map>, в большинстве случаев лучше применять внешние CSS-стили или JavaScript для более сложных интерактивных эффектов. Это улучшает читаемость кода и упрощает поддержку.