将鼠标悬停在图像链接上时显示文本

Posted

技术标签:

【中文标题】将鼠标悬停在图像链接上时显示文本【英文标题】:Showing Text When Hovering Over an Image Link 【发布时间】:2013-08-27 20:04:16 【问题描述】:

我已经看过这里 (How to show text on image when hovering?) 以找到解决此问题的方法,但它不能 100% 起作用...因为该段落位于图像下方,当您将鼠标悬停在它上面时,图像的一部分不会被覆盖。当您将鼠标悬停在图像上时,我希望整个图像被文本覆盖。 (看这个:http://jsfiddle.net/rMhGE/ 或以下。)

html

<body>
        <div class="cube1">

            <a href="http://google.com"><img src="http://us.123rf.com/400wm/400/400/busja/busja1209/busja120900010/15099001-detailed-vector-image-of-symbol-of-london--best-known-british-double-decker-bus.jpg">
            <p class="contact">Random Text Here</p></a>
       </div>
</body>

CSS

.cube1 
    position: relative;
    width: 400px;
    height: 400px;
    float: left;


.contact 
    overflow: hidden;
    position: absolute;
    width: 400px;
    height: 386px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.95);
    color: #aaa;
    visibility: hidden;
    opacity: 0;


.cube1:hover .contact 
    visibility: visible;
    opacity: 1;

感谢任何帮助。谢谢。

【问题讨论】:

已提供答案。但也许你应该摆脱可见性和不透明度,只使用显示。 【参考方案1】:

从接触中移除高度。以及保证金。如果你用绝对 0 0 0 0 方法拉伸它,你也不需要宽度值。

.contact 
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.95);
    color: #aaa;
    visibility: hidden;
    opacity: 0;
    margin: 0;

【讨论】:

为什么我收到 -1?【参考方案2】:

改变p元素的p margin:0px 或者上课

.contact 
    overflow: hidden;
    position: absolute;
    width: 400px;
    height: 395px;//change height also to cover it completly
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.95);
    color: #aaa;
    visibility: hidden;
    opacity: 0;
    margin:0px

【讨论】:

.contact margin-top:0px; 【参考方案3】:

图片上面有文字,我不确定你要在这里做什么。 “覆盖图像”是什么意思?

【讨论】:

【参考方案4】:

您需要将“p”元素的边距设置为0,将“高度”设置为400:

margin:0;
height:400px;

更新 jsFiddle:http://jsfiddle.net/rMhGE/5/

【讨论】:

并且p 元素的高度应该是400px 以匹配图像。 我意识到绝对位置以及 top/bot/left/right 的 0 已经完美地设置了高度/宽度,所以你可以彻底摆脱这些。【参考方案5】:

Demo

从 .contact 中删除高度并应用 top: -15px; bottom: -15px;

另外,最好的方法是设置margin: 0; 删除高度。

【讨论】:

以上是关于将鼠标悬停在图像链接上时显示文本的主要内容,如果未能解决你的问题,请参考以下文章

将鼠标悬停在 iframe 上时如何显示文本

将鼠标悬停在图像上时需要 CSS 效果,以获取另一个图像和/或文本以显示在其上方

当用户使用 JQuery 将鼠标悬停在链接上时如何显示图像

仅在文本链接悬停 CSS 上显示图像

当我将鼠标悬停在链接上时希望切换图像

当我使用 jquery 将鼠标悬停在图标上时如何显示一个简单的文本框