【问题标题】:Removing outline on image map area删除图像地图区域上的轮廓
【发布时间】:2011-01-27 20:52:37
【问题描述】:

当您在图像地图上选择一个区域时,是否可以删除轮廓?看:

我在 Snow Leopard 上使用 Chrome。

【问题讨论】:

标签: html


【解决方案1】:

您似乎只需在img 标签上设置hidefocus 属性和outline css 属性,就像这样:

HTML

<img class="map" src="..." usemap="..." hidefocus="true" />

CSS

img.map, map area{
    outline: none;
}

这应该可以跨浏览器工作!

编辑

就像 Sergey K 评论的那样,如果您不希望支持 IE6,您可以通过使用属性选择器来节省字节。

img[usemap], map area{
    outline: none;
}

Support starts with IE7.

【讨论】:

  • 对于 Chrome,我还发现我必须添加这个 CSS 规则:map area { outline: none; }。此外,作为一个想法,您可以将第二个选择器重写为:img[usemap] { outline: none; },而不是必须向所有使用图像映射的图像添加 map 类。这将选择所有具有usemap 属性的图像。
  • 已编辑答案引用您。谢谢!
  • 有什么方法可以让它在带有纯 CSS 的 IE 中工作,即没有 hidefocus="true" 部分?尝试到 IE11,到目前为止没有运气。
  • 我猜不是...你没有访问源代码的权限吗? Javascript?
  • 当然,'hidefocus' 在 HTML5 中是无效属性。
【解决方案2】:

我在 chrome 和 safari 上都遇到了同样的问题,并通过为每个区域标签分配一个类 .map 并为该类赋予以下样式来获得成功:

.map {
outline: 0;
}

【讨论】:

    【解决方案3】:

    有点老式,但是 这行得通吗:

        <area onfocus="blur();" ... 
    

    ?

    GTX、CS

    【讨论】:

    • 我尝试了很多很多(边框、轮廓、..)的东西,但只有这个有效,谢谢。
    • 使用 SharePoint 2013,这是唯一有效的技术。谢谢
    • 在 Firefox 中导致虚线轮廓,删除它并向每个 添加 tabindex="-1" 为我解决了它。
    • 它对我有用,但我只需要将此应用到 IE,否则 Firefox 在单击该区域时会显示虚线边框(在释放单击之前)
    【解决方案4】:

    给你的图像地图一个“地图”的 id,然后使用下面的 CSS 声明:

    #Map area {
        outline: none;
    }
    

    【讨论】:

    • 它不起作用,因为区域标签继承了您“添加”地图标签的图像的轮廓。所以,可以肯定的是,我添加了“大纲:无;”属性不仅适用于区域标签,也适用于主图像。
    【解决方案5】:

    因此,如果您有一个没有 css 的古老网页(我知道这很糟糕!),您可以通过插入来修复它 style="outline:none" 在坐标之后和区域标签内的 href 之前 - 绝对完美!

    【讨论】:

      【解决方案6】:

      使用 CSS。在元素上设置style="outline:none;",或者最好将其放在样式表中。

      【讨论】:

      • 在什么元素上?贴上区域标签是不行的。将其放在图像标签上时也不行。
      • @meow 我相信你想把它放在图像映射的area 元素上,但如果你说这不起作用,那我真的不确定。仔细检查没有任何拼写/语法错误......我们都犯了。
      【解决方案7】:

      在其 css 规则上尝试过 outline:0 吗?

      【讨论】:

      • 知道如何删除 iOS 版 Safari 上出现的半透明框吗?
      猜你喜欢
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 2020-01-16
      • 2021-12-21
      • 1970-01-01
      相关资源
      最近更新 更多