Если вы хотите иметь возможность использовать произвольные формы и все еще использовать стили, вы рассматривали возможность попробовать SVG?
Я не мастер SVG, но вот пример, который я набрал: http://jsfiddle.net/tZKuv/3/. Для производства вы можете захотеть заменить штрих по умолчанию на none
, я использовал gray
, чтобы вы могли видеть, где он находится.
Недостатком является то, что вы потеряете область простоты использования/ карта дает вам, но я думаю, вы можете достичь своей цели, если вы пойдете по этому пути.Я добавил cursor: pointer
к многоугольнику, и вы можете добавить обработчики onclick
для имитации href
из <area>
.
Очевидное предостережение - поддержка браузера.Кажется, это работает в Chrome, и я уверен, что он должен работать в IE9 (jsfiddle не работает в IE9 в настоящее время), но предыдущие версии IE не поддерживают SVG.
Обновление : Сделана быстрая тестовая страница для тестирования IE9.Это действительно работает, как ожидалось. Вот источник .
Обновите снова : Это также решит проблему масштабирования, о которой вы спрашивали в другом вопросе.