用css悬停显示图像

时间:2012-10-16 09:44:38

标签: jquery html css css3

我的图像很少,它们来自数据库。

当用户将鼠标悬停在图像上时,名称应显示在图像下方。

如何使用CSS或jquery执行此操作?

检查下图,这是应该的样子。

enter image description here

我的代码是

<div class="blue_strip_icon" style="padding-right: 15px;">
    <a href="<%= pag.page.id %>" class="icon_link">
    <img src="<%= @icon %>" title="<%= pag.page.page_title %>" />
    </a>
</div>

CSS

.blue_strip_icon{
    float: right;
    height: 50px;
    padding-top: 10px;
}

3 个答案:

答案 0 :(得分:3)

<div class="blue_strip_icon" style="padding-right: 15px;">
  <a href="<%= pag.page.id %>" class="icon_link">
  <img src="<%= @icon %>" title="<%= pag.page.page_title %>"/>
  </a>
  <div class="title"><%= pag.page.page_title %></div>
</div>

.blue_strip_icon{
    float: right;
    height: 50px;
    width:70px;
    padding-top: 10px;
}

.title{
    width:70px;
    border-radius:20px;
    background:white;
    color:blue;
    border:3px blue solid;
    display:none;

}

​$('.icon_link').hover(function(){
    $(this).next().slideDown(200);
},function(){ 
    $(this).next().slideUp(200);
});​

DEMO

答案 1 :(得分:1)

如果您想通过Pure CSS执行此操作,我建议您将图像作为背景图像加载到分区(div)中,该分区具有position: relative并包含带有图像名称的跨度。 该范围应由position: absolute隐藏和定位 所以你应该做的就是:

div.CLASS:hover > span.child {
 // show the span or blah blah...
}

答案 2 :(得分:0)

通常,标题属性由浏览器解释,并在将鼠标悬停在元素上时显示为工具提示。所以你真的不需要jQuery。

此行为的问题在于您实际上无法控制此工具提示的格式。但是如果你想在某些自定义部分中显示和格式化这个值,你可以订阅这些图像的.hover()事件:

$(function() {
    $('img').hover(function() {
        var title = $(this).attr('title');
        // TODO: do something with the title
    }, function() {
        // this will be triggered when the mouse pointer leaves the element
    });
});