在开发期间使<map>标签中的<area>可见

Joh*_*nes 5 html css imagemap

我正在尝试使用<area><map>标记使图像的一部分成为链接。但是我不知道如何使映射区域可见以控制它的确切位置(除了观察光标成为指针的位置,但这太繁琐了……)

因此,如果使用以下示例代码,如何使多边形在图像顶部可见,以便更有效地对其进行编辑?

我尝试向class地图和具有CSS中定义的边框的区域添加属性,但这没有用:如果将其添加到<map>标记中,则该属性会显示在图像的外部(在右下角附近),如果我将其添加到<area>,则什么都不会显示。

<img src="mypicture.gif" width="300" height="200" usemap="#mymap1">
<map name="mymap1">
  <area shape="poly" coords="120,80,130,70,50,90,120,180,50" href="mylink.html" class="x">
</map> 
Run Code Online (Sandbox Code Playgroud)

CSS:

.x {
  border: 1px solid red;
  }
Run Code Online (Sandbox Code Playgroud)

得到答案后的补充说明:我需要它来编辑链接区域,这些区域不应该一直可见,而且不仅仅在悬停时可见。接受的答案中提到的F​​irefox插件是完美的-它始终显示区域,甚至允许编辑,添加其他多边形节点等。

Paw*_*weł 7

单击图片不可点击区域的任意位置,然后只需按下Tab键盘上的键即可。轮廓边框应围绕每个形状突出显示。我还添加了鼠标悬停坐标,它可以帮助绘制坐标。

var img = document.getElementById('img');
var coords = document.getElementById('coords');
img.addEventListener('mousemove', function(event){

  coords.innerHTML = "x: " + event.offsetX + "<br/>y: " + event.offsetY;
});
Run Code Online (Sandbox Code Playgroud)
area {
  outline-color: white;
}
Run Code Online (Sandbox Code Playgroud)
<img id="img" src="http://lorempixel.com/400/200/sports/" usemap="#mymap1">

<map name="mymap1">
  <area shape="poly" coords="120,80,130,70,50,90,120,180,50" href="mylink.html" class="x" tabindex="0">
  <area shape="circle" coords="220,80,30" href="mylink.html" class="x" tabindex="0">
  <area shape="rect" coords="270,130,330,170" href="mylink.html" class="x" tabindex="0">
</map>

<p id="coords"></p>
Run Code Online (Sandbox Code Playgroud)


phi*_*ipp 3

据我所知,这是不可能的。如果需要显示这些区域,则需要添加包含链接的绝对定位元素。

如果您只需要用于开发,有一个方便的Firefox 扩展可以帮助您。

当然可以使用 javascript 生成可见区域,也许这个jQuery 插件可以帮助你。