Я нашел не-JS способ решить эту проблему, если вы в порядке с прямоугольными областями попадания.
Прежде всего, убедитесь, что ваше изображение находится в относительном позиционировании. Затем поместите изображение в этот div, что означает, что оно займет все пространство в div. Наконец, добавьте абсолютно позиционированные div-ы под изображением, внутри основного div-элемента и используйте проценты для top, left, width и height, чтобы получить области попадания ссылок нужного размера и позиции.
Я считаю, что проще всего дать div черный фоновый цвет (в идеале с некоторым альфа-замиранием, чтобы вы могли видеть связанный контент под ним), когда вы впервые работаете, и использовать инспектор кода в вашем браузере, чтобы корректировать проценты в реальном времени , так что вы можете получить это правильно.
Вот основная схема, с которой вы можете работать. Делая все с процентами, вы гарантируете, что все элементы будут иметь тот же относительный размер и положение, что и масштаб изображения.
<div style="position: relative;">
<img src="background-image.png" style="width: 100%; height: auto;">
<a href="/link1"><div style="position: absolute; left: 15%; top: 20%; width: 12%; height: 8%; background-color: rgba(0, 0, 0, .25);"></div></a>
<a href="/link2"><div style="position: absolute; left: 52%; top: 38%; width: 14%; height: 20%; background-color: rgba(0, 0, 0, .25);"></div></a>
</div>
Используйте этот код с вашим инспектором кода в Chrome или в выбранном вами браузере и корректируйте проценты (вы можете использовать десятичные проценты, чтобы быть более точными), пока поля не станут правильными. Также выбрать background-color
из transparent
когда вы будете готовы использовать его , так как вы хотите , чтобы ваши хиты области , чтобы быть невидимым.