Карта изображения в HTML (навигационные карты).
Поэкспериментировать - HTML редактор
Для того, чтобы создать карту изображения вам пригодятся знания о том, как вставить картинку и ссылку в html-документ.
Теперь давайте выясним, что такое карта изображения.
С помощью карты изображения вы можете сделать так, что при нажатии на разные области одной и той же картинки, вы попадаете на разные страницы. Карту изображения некоторые называют еще навигационной картой.
Я понимаю, что на словах это тяжело понять, потому предлагаю посмотреть пример, как выглядит карта изображения вживую.
Только обратите внимание: картинка одна, а области и путь перехода разный.
[пример]
Не бойтесь, это вовсе не сложно. Самое главное – понять теорию и закрепить практикой.
Ну что, приступим к теории.
Карты изображения (навигационные карты) задаются тегом <map></map>.
Тег <map></map> - это коробка, внутри которой размещают теги <area>.
Тег <area> предназначен для определения геометрической области с ссылкой, привязанной к каждой области.
Пример:
1
2
3
4
5
|
< map >
< area >
< area >
< area >
</ map >
|
Атрибуты areа
1. Атрибут shape
shape – определяет форму области (прямоугольником, кругом, многоугольником).
Прямоугольник - "rect". Пример: shape="rect";
круг - "circle". Пример: shape="circle";
многоугольник - "poly". Пример: shape="poly"
Пример:
1
2
3
|
< map >
< area shape = "rect" >
</ map >
|
2. Атрибут coords
coords – это расположение геометрической формы.
Давайте рассмотрим пример на геометрической форме прямоугольника.
Прямоугольная область
Вы уже знаете, что если вам нужна форма прямоугольника, значит нужно прописать в атрибуте shape значение «rect».
1
2
3
|
< map >
< area shape = "rect" >
</ map >
|
Теперь переходим к координатам.
Точка отсчета начинается с левого верхнего угла картинки, координаты которого (0;0)
Порядок записи координат для атрибута coords будет таким:
1
|
< area shape = "rect" coords = "x1,y1,x2,y2" >
|
Значит, нужно указать координаты рабочей области у прямоугольника верхний-левый и нижний-правый угол.
Для примера с прямоугольником №1 возьмите такие координаты:
x1=25, y1=36, x2=114, y2=98
Вот так будет выглядеть код:
1
2
3
|
< map >
< area shape = "rect" coords = "25,36,114,98" >
</ map >
|
Дальше нужно указать путь(ссылку) для выбранной области. Как сделать ссылку в HTML, вы уже знаете.
1
2
3
|
< map >
< area href = "http://bloggood.ru" shape = "rect" coords = "25,36,114,98" >
</ map >
|
Все пока что хорошо. Но нам теперь нужно связать картинку с картой.
Для этого придумайте любое название для карты, например, «karta1» и пропишите его в теге <map> через атрибут name.
1
2
3
|
< map name = "karta1" >
< area href = "http://bloggood.ru" shape = "rect" coords = "25,36,114,98" >
</ map >
|
Теперь свяжем карту с картинкой. Для этого используем атрибут usemap.
Пример написания:
usemap="#имя_карты"
В нашем случае это будет выглядеть следующим образом:
1
|
< img src = "kartinka.gif" usemap = "#karta1" >
|
Теперь соберем все вместе и пропишем еще координаты к другому прямоугольнику №2 с такими данными (x1=153, y1=11, x2=219, y2=127).
Пример:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< html >
< head >
< title > Карта изображения в HTML (навигационные карты). Урок №11</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251" >
</ head >
< body >
< img src = "kartinka.gif" usemap = "#karta1" >
< map name = "karta1" >
< area href = "http://bloggood.ru/" shape = "rect" coords = "25,36,114,98" >
< area href = " http://bloggood.ru/avtor/" shape = "rect" coords = "153,11,219,127" >
</ map >
</ body >
</ html >
|
Теперь смотрите на результат. Нажмите на прямоугольник №1 и на прямоугольник №2
[пример]
Круглая область
Для начала нужно указать тип области. Для этого пропишем в атрибуте shape значение «circle».
1
2
3
|
< map >
< area shape = "circle" >
</ map >
|
Теперь переходим к координатам.
Чтобы создать координаты для круглой области, нужно прописать данные к центру (xy) и указать длину радиуса (R).
Порядок записи координат для атрибута coords будет таким:
1
|
< area shape = "circle" coords = "x,y,R" >
|
Для круга №1 возьмите такие координаты:
x=46, y=48; а длина радиуса - R=35
1
2
3
|
< map >
< area shape = "circle" coords = "46,48,35" >
</ map >
|
Теперь дадим карте название и привяжем карту к рисунку:
1
2
3
4
|
< img src = "kartinka-2.gif" usemap = "#karta2" >
< map name = "karta2" >
< area href = "http://bloggood.ru/" shape = "circle" coords = "46,48,35" >
</ map >
|
Теперь соберем все вместе и пропишем еще координаты к кругу №2 с такими данными x=158, y=75, R=53.
Пример:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< html >
< head >
< title > Карта изображения в HTML (навигационные карты). Урок №11</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251" >
</ head >
< body >
< img src = "kartinka-2.gif" usemap = "#karta2" >
< map name = "karta2" >
< area href = "http://bloggood.ru/ " shape = "circle" coords = "46,48,35" >
< area href = " http://bloggood.ru/avtor/" shape = "circle" coords = "158,75,53" >
</ map >
</ body >
</ html >
|
Теперь смотрите на результат. Нажмите на круг №1 и на круг №2:
[пример]
Многоугольная область
Многоугольная область самая сложная область в навигационной карте.
Для начала нужно указать тип области. Для этого пропишите в атрибуте shape значение «poly»
1
2
3
|
< map >
< area shape = "poly" >
</ map >
|
Теперь переходим к координатам.
Порядок записи координат для атрибута coords будет таким:
1
|
< area shape = "poly" coords = "x1,y1,x2,y2,...,xN,yN" >
|
Разъяснение:
x1,y1 - координаты первого угла;
x2,y2 - координаты второго угла;
xN,yN - координаты последнего угла
То есть, для многоугольника №2 это выглядит вот так:
1
|
< area shape = "poly" coords = "x1,y1,x2,y2,x3,y3,x4,y4,x5,y5" >
|
Пример:
1
2
3
|
< map >
< area shape = "poly" coords = "168,9,232,29,200,97,223,129,153,119" >
</ map >
|
Теперь дадим карте название и привяжем карту к рисунку:
1
2
3
4
|
< img src = "kartinka-3.gif" usemap = "#karta3" >
< map name = "karta3" >
< area href = "http://bloggood.ru/" shape = "poly" coords = "168,9,232,29,200,97,223,129,153,119" >
</ map >
|
Теперь соберем все вместе и пропишем еще координаты к шестиугольнику №1 с такими данными: x1=54, y1=20, x2=109, y2=20, x3=147, y3=58, x4=109, y4=96, x5=54, y5=96, x6=16, y6=58.
Пример:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< html >
< head >
< title > Карта изображения в HTML (навигационные карты). Урок №11</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251" >
</ head >
< body >
< img src = "kartinka-3.gif" usemap = "#karta3" >
< map name = "karta3" >
< area href = "http://bloggood.ru/" shape = "poly" coords = "168,9,232,29,200,97,223,129,153,119" >
< area href = "http://bloggood.ru/avtor/" shape = "poly" coords = "54,20,109,20,147,58,109,96,54,96,16,58" >
</ map >
</ body >
</ html >
|
Теперь смотрите на результат. Нажмите на многоугольник №1 и на многоугольник №2:
[пример]
Возможность комбинирования
Бывают такие случаи, когда нужно использовать одновременно на одной картинке разные области, например, круг и прямоугольник:
1
2
3
4
5
|
< img src = "kartinka-4.gif" usemap = "#karta4" >
< map name = "karta4" >
< area href = "http://bloggood.ru/avtor/" shape = "circle" coords = "46,48,35," >
< area href = " http://bloggood.ru/" shape = "rect" coords = "153,11,219,127" >
</ map >
|
Дополнение с использованием TITLE
Для каждой области можно прописать подсказки, используя атрибут title.
Пример:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< html >
< head >
< title > Карта изображения в HTML (навигационные карты). Урок №11</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251" >
</ head >
< body >
< img src = "kartinka-4.gif" usemap = "#karta4" >
< map name = "karta4" >
< area href = "http://bloggood.ru/avtor" shape = "circle" coords = "46,48,35," title = "круг" >
< area href = " http://bloggood.ru/" shape = "rect" coords = "155,12,220,130" title = "прямоугольник" >
</ map >
</ body >
</ html >
|
Теперь смотрите на результат. Наведите курсор мышки на круг, а потом на прямоугольник:
[пример] |