3

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

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

如何使用 CSS 或 jquery 做到这一点?

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

在此处输入图像描述

我的代码是

<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;
}
4

3 回答 3

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);
});​

演示

于 2012-10-16T11:58:18.383 回答
1

如果你想通过纯 CSS 做到这一点,我建议你将图像作为背景图像加载到一个分区 (div) 中,该分区具有position: relative并包含一个名为 image 的 span。该跨度应该被隐藏和定位,position: absolute 所以你应该做的就是:

div.CLASS:hover > span.child {
 // show the span or blah blah...
}
于 2012-10-16T09:50:30.040 回答
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
    });
});
于 2012-10-16T09:46:11.957 回答