将鼠标悬停在图像上以获取一个带有 html/JavaScript 中的多个链接的框

Posted

技术标签:

【中文标题】将鼠标悬停在图像上以获取一个带有 html/JavaScript 中的多个链接的框【英文标题】:Hover over image to get a box with multiple links in html/JavaScript 【发布时间】:2018-05-15 04:34:18 【问题描述】:

我想这样当用户将鼠标悬停在我网站上的图片上时,他们会得到一个与图片相同大小的灰色框,并且灰色框内是一个列表;列表中的每个项目都链接到不同的站点。我不知道该怎么做;当用户将鼠标悬停在图像上时,我只能找到有关如何用其他图像替换图像的教程。我不想要那个;我想用一个本身包含多个链接的框替换图像。我不需要一个具体的答案,而是需要一个关于如何做到这一点的一般想法。你们开发人员如何做到这一点?

让这件事变得更复杂的是,我想像这样将三张图片排成一排;对于每张图片,用户可以将鼠标悬停在它们上面,然后单击列表中的一个项目。

(我是 html 和 css 的新手,如果这是最好的解决方案,我愿意使用 javascript。提前感谢您的帮助!)

【问题讨论】:

了解这些 CSS 概念,您无需 JavaScript 即可做到:opacity:hoverposition: absolute 【参考方案1】:

这里是html:

<div id="container">
  <img id="image"/>
  <div id="overlay">
    <a href="www.site1.com">Link 1</a><br>
    <a href="www.site2.com">Link 2</a><br>
    <a href="www.site3.com">Link 3</a><br>
  </div>
</div>

这是css:

#container 
  position:relative;
  width:100px;
  height:100px;

#image 
  position:absolute;
  width:100%;
  height: 100%;
  background:black;//should be url of your image

#overlay 
  position:absolute;
  width:100%;
  height:100%;
  background:gray;
  opacity:0;

#overlay:hover 
  opacity:1;

JsFiddle link

【讨论】:

【参考方案2】:

在包装器悬停时,只显示包含列表的 div,否则它应该被隐藏。这是工作示例。 HTML

<div class="wrapper">
<img src="http://www.gettyimages.in/gi-resources/images/Embed/new/embed2.jpg" class="showDiv"    />
<div class="showOnHover">
<ul>
<li>
<a href="http://www.gettyimages.in/gi-resources/images/Embed/new/embed3.jpg">link1</a>
</li>
<li>
  <a href="http://www.gettyimages.in/gi-resources/images/Embed/new/embed2.jpg">link2</a>
</li>
<li>
  <a href="http://www.gettyimages.in/gi-resources/images/Embed/new/embed1.jpg">link3</a>
</li>
</ul>
</div>
</div>

CSS

.wrapper
  position:relative;
  width:200px;

.wrapper:hover .showOnHover
  display:block !important;

.showOnHover
   display:none;
   position:absolute;
   top:0;
   height:100%;

【讨论】:

以上是关于将鼠标悬停在图像上以获取一个带有 html/JavaScript 中的多个链接的框的主要内容,如果未能解决你的问题,请参考以下文章

将鼠标悬停在图像上以显示按钮,并且在悬停在实际按钮上时不触发

将鼠标悬停在缩略图上以启动新图像;悬停结束后新图像仍然存在

如何将鼠标悬停在容器上以显示带有Javascript的更多按钮?

将鼠标悬停在多个内容上以展开

将鼠标悬停在 1 个 div 上以更改另一个 div 内容

markdown 将鼠标悬停在DIV上以扩展宽度