Атрибут usemap тега <img> — карта-зображення


Атрибут usemap пов'язує між собою картинку і карту-зображення, що задається за допомогою контейнера <map> (карта -зображення являє собою зображення з інтерактивними областями).

Як такого зв'язку виступає ім'я ідентифікатора, яке вказується в значенні атрибута usemap, і те ж ім'я, задане у атрибута name елемента <map>.

При цьому в <img> ідентифікатор повинен починатися з символу решітки (#).

автор: с3с

Загальний опис

автор: NagarD

Нотатка

Атрибут usemap не може бути використаний, якщо елемент <map> є нащадком елементів <a> або <map>.

автор: с3с

Синтаксис

<img usemap=”#mapname”>

Атрибут usemap може отримувати єдине значення:

#mapname

Хеш-символ ("#") і ім’я елемента <map>.

автор: с3с

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 3 15 12 ≤11
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 2

Приклади

+ запропонувати свій приклад у пісочниці

HTML

<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 150 150' preserveAspectRatio='none'%3E%3Crect width='50' height='150' fill='%23e63946'/%3E%3Crect x='50' width='50' height='150' fill='%232a9d8f'/%3E%3Crect x='100' width='50' height='150' fill='%230077b6'/%3E%3C/svg%3E" width="145" height="126" usemap="#planetmap">
<p id="map"></p>
<map name="planetmap">
  <area shape="rect" coords="0,0,50,150" href="#" alt="Sun" onclick="f('Ви нажали на червоний світлодіод')")>
  <area shape="rect" coords="50,0,100,150" href="#" onclick="f('Ви нажали на зелений світлодіод')")>
  <area shape="rect" coords="100,0,150,150" href="#" alt="Venus" onclick="f('Ви нажали на синій світлодіод')")>
</map>

JS

function f(argument) {
  document.getElementById("map").innerHTML = argument;
}
//# sourceURL=pen.js
автор: с3с

Одна карта на дві картинки: у натуральну величину й розтягнуту вдвічі. Червоний пунктир — де насправді лежать зони: у другій картинці вони лишилися в лівому верхньому куті, хоч малюнок виріс. Кліки працюють — під картинками з'являється напис про те, у яку зону ви влучили.

HTML

<p>1. Малюнок 200×100 у натуральну величину — зони збігаються з фігурами:</p>
<span class="wrap">
    <img width="200" height="100" alt="План: синій прямокутник і зелене коло"
        usemap="#plan"
        src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='100'%3E%3Crect%20width='200'%20height='100'%20fill='%23eef3fb'/%3E%3Crect%20width='100'%20height='100'%20fill='%232f6fd0'/%3E%3Ccircle%20cx='150'%20cy='50'%20r='40'%20fill='%2372b043'/%3E%3C/svg%3E">
    <span class="zone rect"></span>
    <span class="zone circ"></span>
</span>

<p>2. Той самий файл і та сама карта, але показані як 400×200. Фігури виросли,
    зони — ні:</p>
<span class="wrap">
    <img width="400" height="200" alt="Той самий план, розтягнутий удвічі"
        usemap="#plan"
        src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='100'%3E%3Crect%20width='200'%20height='100'%20fill='%23eef3fb'/%3E%3Crect%20width='100'%20height='100'%20fill='%232f6fd0'/%3E%3Ccircle%20cx='150'%20cy='50'%20r='40'%20fill='%2372b043'/%3E%3C/svg%3E">
    <span class="zone rect"></span>
    <span class="zone circ"></span>
</span>

<map name="plan" id="plan">
    <area shape="rect" coords="0,0,100,100" href="#left" alt="Ліва половина">
    <area shape="circle" coords="150,50,40" href="#right" alt="Праве коло">
    <area shape="default" href="#rest" alt="Решта малюнка">
</map>

<p id="left" class="msg">Ви натиснули ЛІВУ прямокутну зону: coords="0,0,100,100".</p>
<p id="right" class="msg">Ви натиснули ПРАВЕ коло: coords="150,50,40".</p>
<p id="rest" class="msg">Ви натиснули поза зонами — спрацювала область
    shape="default", яка ловить усе решту.</p>

CSS

p {
    max-width: 520px;
    margin: 14px 0 6px;
}

.wrap {
    position: relative;
    display: inline-block;
    line-height: 0;
}

.zone {
    position: absolute;
    border: 2px dashed #d64545;
    pointer-events: none;
}

.rect {
    left: 0;
    top: 0;
    width: 96px;
    height: 96px;
}

.circ {
    left: 106px;
    top: 6px;
    width: 84px;
    height: 84px;
    border-radius: 50%;
}

.msg {
    display: none;
    padding: 8px 12px;
    border-left: 6px solid #2f6fd0;
    background: #f6f9ff;
    color: #1b4f9c;
    font-weight: 600;
}

.msg:target {
    display: block;
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід