#html #css #web #map
#HTML #css #веб #словарь
Вопрос:
Для веб-сайта, который я делаю для своей работы, я хотел использовать в основном кодирование CSS, но когда я увидел все проблемы, связанные с CSS-картами, я последовал совету других и придерживался традиционного стиля карт HTML. Однако код сопоставления не будет работать, ссылки остаются недоступными. Я не уверен, связано ли это с комбинацией CSS / HTML или нет, но мой код выглядит следующим образом для части HTML:
<body>
<div id="header">
<div id="menu">
<img src="http://i74.photobucket.com/albums/i266/nanashiwolf/header.png" width="770" height="100" alt="logo" border="0" usemap="#headermap" />
<map name="#headermap">
<area shape="rect" coords="156,67,156,83,225,83,225,67" href="links.html" alt="Links" />
<area shape="rect" coords="239,67,239,83,309,83,309,67" href="links.html" alt="Links" />
<area shape="rect" coords="324,67,324,83,392,83,392,67" href="links.html" alt="Links" />
<area shape="rect" coords="403,67,403,83,511,83,511,67" href="links.html" alt="Links" />
<area shape="rect" coords="526,67,526,83,588,83,588,67" href="links.html" alt="Links" />
<area shape="rect" coords="602,67,602,83,662,83,662,67" href="links.html" alt="Links" />
<area shape="rect" coords="675,67,675,83,736,83,736,67" href="links.html" alt="Links" />
</map>
</div></div>
После этого сразу же появляется еще один открытый div для тела веб-сайта, и, насколько я знаю, с этим проблем нет. Я думал, может быть, это была проблема с тегом menu, но это все, что у меня есть для menu:
#menu {
float: left;
width: 767px;
height: 200px;
}
Я не совсем уверен, в чем проблема, потому что я использовал карты раньше, и они всегда работали, поэтому единственное, о чем я думаю, это то, что CSS каким-то образом противоречит этому. Если я смотрю на неправильный CSS, и другой тег может вызвать проблему, я также могу опубликовать это.
Прямо сейчас я просматриваю это в IE (я еще не загрузил FF, но я буду), поэтому я не знаю, может ли это быть проблемой.
Ответ №1:
В name
параметре map не должно быть a #
:
<map name="headermap">
Это необходимо только в директиве usemap:
<img usemap="#headermap">
Вводя #
имя карты, вам на самом деле придется использовать usemap="##headermap"
вместо этого.
Комментарии:
1. Просто исправил это и обновил страницу, но карта по-прежнему не работает.
2. Карта также должна быть определена перед ее использованием. Когда браузер анализирует тег изображения,
<map>
он еще не найден, поэтому он не может связать их вместе.3. Итак, должно ли имя карты следовать после кода меню div? Я также должен был упомянуть, что я использую XHTML
4.Нет.
<map><area><area>etc..</map>
и ТОГДА<img>
вся карта с областями должна быть завершена, ПРЕЖДЕ чем вы обратитесь к карте с помощью usemap.5. Только что заметил, что ваши координаты тоже неверны. Для прямоугольников вы указываете только верхний левый и нижний правый углы. У вас указано 4 координаты