带有多个链接的HTML/CSS悬停

带有多个链接的HTML/CSS悬停,html,css,Html,Css,有没有一种方法可以使网页上的图像在悬停时变成两个不同的链接图像?我想把主图像放在那里,但当你把鼠标移到“手机”图片上时,你可以选择你感兴趣的产品(苹果或安卓)。然后你可以点击Apple并被重定向到[Site A],或者点击Android并被重定向到[Site B] 您要创建一个菜单。创建一个具有2个链接和css display:none属性集的div。为主链接(电话)设置悬停事件处理程序(例如通过jquery)以切换div的可见性 #menu { display: none } $("#ph

有没有一种方法可以使网页上的图像在悬停时变成两个不同的链接图像?我想把主图像放在那里,但当你把鼠标移到“手机”图片上时,你可以选择你感兴趣的产品(苹果或安卓)。然后你可以点击Apple并被重定向到[Site A],或者点击Android并被重定向到[Site B]


您要创建一个菜单。创建一个具有2个链接和css display:none属性集的div。为主链接(电话)设置悬停事件处理程序(例如通过jquery)以切换div的可见性

#menu { display: none }

 $("#phones").hover(
  function() {
    $("#menu").show();
  }, function() {
    $("#menu").hide();
  });

您可以在“Onmouseover”事件上执行任何您想要的操作,只需使用一个函数将图像注册到“Onmouseover”,然后使用createElement('img')动态地在那里创建两个图像元素,然后使用“imageNode.src”为它们提供源代码。就这样。完成。

这里有一个仅限于CSS的解决方案:

HTML:

这就是您需要的:

HTML


您可以将鼠标悬停功能附加到图像并显示其他图像。如果只想使用一个元素,则该元素不应为空元素(如
img
),然后,我们可以添加2个伪元素来呈现2个链接,但我们需要根据单击点的坐标正确处理单击事件,以确定单击了哪个虚拟链接。在网页上放置一个图像,当悬停时,该图像会变成两个不同的链接图像,看起来OP仅使用1个图像,这很奇怪,但这是他想要的。没关系,我们用的是divhere@andypopa这里的要点是,看起来他只想使用1个元素,你使用了2个元素,这就是为什么我在OP的问题下的评论中提到了伪元素,这也是为什么他应该使用一个元素而不是空元素(比如图像)因此,我们可以创建伪元素,当然可以使用背景图像来渲染图像。谢谢!我使用了这种方法,它的工作方式正是我想要的!伟大的在方便的时候,您可以随时将问题标记为已解决。
<div id = "image"><a href = "#">apple</a><a href = "#">android</a></div>
#image {
    width: 200px;
    height: 100px;
    box-sizing: border-box;
    background: url(http://placehold.it/200x100) no-repeat;
}

#image > a {
    display: none;
    width: 50%;
    height: 100%;
    text-align: center;
    font: bold 12px/100px Sans-Serif;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    background-color: rgba(100, 100, 100, 0.9);
}

#image:hover > a {
    display: inline-block;
}
<div class="menu">
    <img src="" alt="phones">
    <a href=""><img src="" alt="android"></a>
    <a href=""><img src="" alt="apple"></a>
</div>
.menu{

width:200px;
height:100px;

}

.menu a{

display:none;
width:100px;
height:100px;
float:left;

}


.menu > img{

display:block;
width:200px;
height:100px;

}

.menu:hover > img{

display:none;

}


.menu:hover a{

display:block;

}