JQuery изображение карта альтернатива
Что такое альтернатива использованию карт изображений? Я недавно увидел вопрос, и кто-то сказал: "Почему люди все еще используют карты изображений?" и я хотел бы знать хорошее решение CSS или JavaScript, чтобы убедиться в этом, если его лучше использовать, чем карта изображения.
Ответы
Ответ 1
CSS - это способ работать с картами изображений. Вы можете легко разместить ссылку с требуемой шириной и высотой над любой областью изображения, изменив значения высоты верхней левой ширины.
В этом примере наведите указатель мыши на лицо младенца или красный свет на изображении. Чтобы изменить положение анкеров, все, что вам нужно сделать, это изменить верхние и левые свойства # pos1 и # pos2. То же самое касается ширины и высоты ограничивающей рамки. Все сделано с помощью CSS без javaScript.
Ответ 2
вам нужно только поставить идентификатор на якоря, divs не требуется.
Ответ 3
Если ваш сайт реагирует, вы можете попробовать использовать SVG в качестве отличной альтернативы изображениям.
SVG можно легко реагировать, а также реагировать на эффекты зависания и т.д.
Это хорошая статья, в которой обсуждаются вопросы.
Ответ 4
Как ответ Хусейна. Я просто добавляю свои замечания и делюсь с вами некоторыми ссылками в лихорадке используемой карты изображений.
- вы можете не только позиционировать изображение как квадрат, но также как прямоугольник и даже полигон.
- вы можете добавить свой выход желаемого во всплывающем окне, наведя на него позицию/и даже вы также можете выполнить действие.
чтобы получить больше, пожалуйста, посетите приведенные ниже ссылкиhelp full
link 1
imagemapster
link 2
imagemapster-solutions
вы можете использовать его в качестве изображения для большего количества изображений.
спасибо
Ответ 5
Это расширяет ответ Хусейна и делает его масштабируемым в гибком дизайне. Также вы можете сделать различные простые фигуры из CSS с преобразованием. Чтобы найти приблизительную позицию (%), вы можете получить справку эту страницу.
Вот пример:
html, div, p, a {
font-family: arial;
}
.map-image {
display: inline-block;
position: relative;
overflow: hidden;
padding: 0;
}
.map-image img {
width: 100%;
height: auto;
display:block;
}
.map-image a {
text-decoration: none;
padding: 5px;
color: #FFF;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
margin: 0;
font-size: 4vw;
}
.map-image a:hover {
border: 1px solid #FFF;
margin: -1px;
}
.map-image a.rotate {
border-radius: 50%;
-ms-transform: rotate(20deg); /* IE 9 */
-webkit-transform: rotate(20deg); /* Chrome, Safari, Opera */
transform: rotate(20deg);
}
.map-image a.rotate span {
position:absolute;
-ms-transform: rotate(-20deg); /* IE 9 */
-webkit-transform: rotate(-20deg); /* Chrome, Safari, Opera */
transform: rotate(-20deg);
top:25%;
}
.map-image a.skew {
border-radius: 15%;
-ms-transform: skewX(-20deg) rotate(9deg);
-webkit-transform: skewX(-20deg) rotate(9deg);
transform: skewX(-20deg) rotate(9deg);
}
.map-image a.skew span {
position:absolute;
-ms-transform: skewX(20deg) rotate(-9deg);
-webkit-transform: skewX(20deg) rotate(-9deg);
transform: skewX(20deg) rotate(-9deg);
top:12%;
left:4%;
}
.map-image svg {
position:absolute;
}
.map-image polygon:hover {
stroke: #FFF;
}
.map-image .poligon-title {
position:absolute;
left:19%;
top:43%;
color: #FFF;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
margin: 0;
font-size: 2.6vw;
z-index:100;
}
<div class="map-image">
<img src="http://cdn.frooition.com/060129/images/100_1428.JPG">
<a href="#" onclick="location.href='https://www.google.com'; return false;" title="Front window" style="position: absolute; left: 24.4%; top: 16.3%; width: 33.3%; height: 25.39%; z-index: 99; background-color:rgba(255,0,0,0.3);" class="skew"><span>Google</span></a>
<a href="#" onclick="location.href='https://www.facebook.com'; return false;" title="Seats" style="position: absolute; left: 58%; top: 0.16%; width: 28.4%; height: 26.33%; z-index: 96; background-color:rgba(0,255,255,0.2);">Facebook</a>
<a href="#" onclick="location.href='https://www.linkedin.com/'; return false;" title="Wheel" style="position: absolute; left: 43%; top: 57.4%; width: 20%; height: 39.34%; z-index: 99; background-color:rgba(0,255,0,0.2);" class="rotate"><span>Linkedin</span></a>
<svg height="auto" width="34%" style="position: absolute; left: 10%; top: 36%; z-index: 99;" viewBox="0 0 450 600">
<a id="anchor" xlink:href="#" onclick="location.href='https://stackoverflow.com'; return false;" target="_top">
<polygon points="190,5 385,60 210,320 0,300 200,134 205,120 205,104" style="fill:rgba(0,0,0, 0.4);stroke-width:1" />
Sorry, your browser does not support inline SVG.
</a>
</svg>
<div class="poligon-title">Stackoverflow</div>
</div>