У меня есть существующая карта изображения в отзывчивом HTML-макете. Изображения масштабируются в соответствии с размером браузера, но координаты изображения, очевидно, имеют фиксированный размер в пикселях. Какие варианты у меня есть, чтобы изменить размер координат карты изображения?
145
Ответы:
Для адаптивных карт изображений вам понадобится плагин:
https://github.com/stowball/jQuery-rwdImageMaps (больше не поддерживается)
Или
https://github.com/davidjbradshaw/imagemap-resizer
http://www.howtocreate.co.uk/tutorials/html/imagemaps
А также эта страница для тестирования, реализуют ли браузеры
http://home.comcast.net/~urbanjost/IMG/resizeimg3.html
источник
Вы также можете использовать svg вместо карты изображений. ;)
Существует учебник о том, как это сделать.
источник
Адаптивное изображение карты плагин jQuery Мэтт Стоу
источник
$(window).trigger('resize');
window
в данном случае). Удачи.Я наткнулся на решение, которое вообще не использует карты изображений, а привязывает теги, которые абсолютно расположены над изображением. Единственным недостатком будет то, что точка доступа должна быть прямоугольной, но плюс в том, что это решение не опирается на Javascript, а только на CSS. Существует веб-сайт, который можно использовать для создания HTML-кода для якорей: http://www.zaneray.com/responsive-image-map/
Я поместил изображение и сгенерированные теги привязки в относительно расположенный тег div, и все отлично работало при изменении размера окна и на моем мобильном телефоне.
источник
Я нашел не-JS способ решить эту проблему, если вы в порядке с прямоугольными областями попадания.
Прежде всего, убедитесь, что ваше изображение находится в относительном позиционировании. Затем поместите изображение в этот div, что означает, что оно займет все пространство в div. Наконец, добавьте абсолютно позиционированные div-ы под изображением, внутри основного div-элемента и используйте проценты для top, left, width и height, чтобы получить области попадания ссылок нужного размера и позиции.
Я считаю, что проще всего дать div черный фоновый цвет (в идеале с некоторым альфа-замиранием, чтобы вы могли видеть связанный контент под ним), когда вы впервые работаете, и использовать инспектор кода в вашем браузере, чтобы корректировать проценты в реальном времени , так что вы можете получить это правильно.
Вот основная схема, с которой вы можете работать. Делая все с процентами, вы гарантируете, что все элементы будут иметь тот же относительный размер и положение, что и масштаб изображения.
Используйте этот код с вашим инспектором кода в Chrome или в выбранном вами браузере и корректируйте проценты (вы можете использовать десятичные проценты, чтобы быть более точными), пока поля не станут правильными. Также выбрать
background-color
изtransparent
когда вы будете готовы использовать его , так как вы хотите , чтобы ваши хиты области , чтобы быть невидимым.источник
Дэвид Брэдшоу написал хорошую маленькую библиотеку, которая решает эту проблему. Может использоваться с или без jQuery.
Доступно здесь: https://github.com/davidjbradshaw/imagemap-resizer
источник
Следующий метод отлично работает для меня, поэтому вот моя полная реализация:
источник
Работая на меня (не забудьте изменить 3 вещи в коде):
previousWidth (оригинальный размер изображения)
map_ID (идентификатор вашей карты изображений)
img_ID (идентификатор вашего изображения)
HTML:
Javascript:
JSFiddle: http://jsfiddle.net/p7EyT/154/
источник
Я сталкиваюсь с тем же требованием, когда я хочу показать адаптивную карту изображения, которая может быть изменена с любым размером экрана, и важно, что я хочу выделить эти координаты .
Поэтому я перепробовал много библиотек, которые могут изменять размеры координат в зависимости от размера экрана и события. И я получил лучшее решение (jquery.imagemapster.min.js), которое прекрасно работает практически со всеми браузерами. Также я интегрировал его с Summer Plgin, который создает карту изображений.
Надеюсь помочь кому-нибудь.
источник
http://home.comcast.net/~urbanjost/semaphore.html является главной страницей для обсуждения и содержит ссылки на решение проблемы на основе JavaScript. Я получил уведомление о том, что HTML будет поддерживать процентные единицы в будущем, но я не видел никакого прогресса в этом достаточно давно (вероятно, прошло больше года с тех пор, как я узнал, что поддержка будет оказана), так что обходной путь Вероятно, стоит посмотреть, если вы знакомы с JavaScript / ECMAScript.
источник
Проверьте плагин image-map на Github. Работает как с ванильным JavaScript, так и с плагином jQuery.
Проверьте демо .
источник
Это зависит от того, как вы думаете, вы можете использовать jQuery для пропорциональной настройки диапазонов. Почему вы используете карту изображения, кстати? Разве вы не можете использовать для этого масштабирующие элементы div или другие элементы?
источник
Для тех, кто не хочет прибегать к JavaScript, вот пример нарезки изображения:
http://codepen.io/anon/pen/cbzrK
Когда вы масштабируете окно, изображение клоуна будет соответственно масштабироваться, и когда это происходит, нос клоуна остается гиперссылочным.
источник
Аналогично ответу Орланда здесь: https://stackoverflow.com/a/32870380/462781
В сочетании с кодом Криса здесь: https://stackoverflow.com/a/12121309/462781
Если области помещаются в сетку, вы можете наложить области на прозрачные изображения, используя ширину в%, сохраняя соотношение сторон.
Вы можете использовать наценку в%. Кроме того, «космические» изображения могут быть размещены рядом друг с другом внутри div 3-го уровня.
источник
По какой-то причине ни одно из этих решений не помогло мне. У меня был лучший успех с использованием преобразований.
источник
чувствительная ширина && высота
источник