18

我有一个文本链接。当用户将鼠标悬停在文本链接上时,我希望在页面的其他位置显示图像。我想用 css 做到这一点。我认为这可以通过链接中的一行代码(如 onmouseover)简单地完成,但似乎需要页面上其他地方的其他代码。

我尝试将 a:hover 与我想显示为背景图像的图片一起使用,但我认为它不能被操纵以完全显示而不是被剪裁到文本链接的大小。

当我尝试搜索时,我看到了数百个结果,但没有一个是我想要的。我发现的最接近的是这个。

http://www.dynamicdrive.com/style/csslibrary/item/css-image-gallery/

但这适用于将鼠标悬停在缩略图上。我只希望用户将鼠标悬停在单个文本链接上以在页面上的其他位置显示图像。我从这个线程中找到了那个画廊:Pop up image css link on hover

我不想处理 jquery 是什么或太多的脚本,因为我更熟悉 css。有没有人知道一个简单的方法来做到这一点,或者仍然没有办法,即使对 css3 进行了所有更改?

谢谢!

4

6 回答 6

32

它可以单独使用 CSS 来完成。它在我的机器上完美运行,在 Ubuntu 12.04 下的 Firefox、Chrome 和 Opera 浏览器中运行。

CSS:

.hover_img a { position:relative; }
.hover_img a span { position:absolute; display:none; z-index:99; }
.hover_img a:hover span { display:block; }

HTML:

<div class="hover_img">
     <a href="#">Show Image<span><img src="images/01.png" alt="image" height="100" /></span></a>
</div>
于 2014-07-28T10:13:19.090 回答
24

CSS 不能像那样调用其他元素,您需要使用 JavaScript 来超越子选择器或兄弟选择器。

你可以尝试这样的事情:

<a>Some Link
<div><img src="/you/image" /></div>
</a>

然后...

a>div { display: none; }
a:hover>div { display: block; }
于 2012-05-26T19:15:27.107 回答
1

添加

.hover_img a:hover span {
    display: block;
    width: 350px;
}

在表格中显示悬停图像全尺寸将 350 更改为您的尺寸。

于 2016-05-04T21:28:58.040 回答
1

来自w3 学校

<style>
/* Tooltip container */
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
}
</style>

<div class="tooltip">Hover over me
  <img src="/pathtoimage" class="tooltiptext">
</div>

听起来像你想要的

于 2019-03-05T05:46:16.897 回答
1

我做了这样的事情:

HTML:

<p class='parent'>text text text</p>
<img class='child' src='idk.png'>

CSS:

.child {
    visibility: hidden;
}

.parent:hover .child {
    visibility: visible;
}
于 2019-11-07T16:28:18.623 回答
-6

仅使用 CSS 是不可能做到这一点的,您需要使用 Javascript。

<img src="default_image.jpg" id="image" width="100" height="100" alt="" />


<a href="page.html" onmouseover="document.images['image'].src='mouseover.jpg';" onmouseout="document.images['image'].src='default_image.jpg';"/>Text</a>
于 2012-05-26T19:21:56.250 回答