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