1

我正在为图像设计一个滑块以及所述图像的标题。我想做的是让标题脱离图像的界限。

所以我所做的是我为整个事情创建了一个包装器。包装器 div 位于页面中心,position: relative;margin: 0 auto;宽度为 500 像素,隐藏溢出。

里面是具有双倍宽度的图像包装器。图像包装器内部是两个 div,每个 div 都有一个标题。它们的宽度各为 500,并且它们彼此相邻,其中float:left的标题有一个 'margin-left: -10px;' 和绝对位置,overflow: visible;我想要的是标题溢出包装器之外的那 10 个像素。

无论如何我可以做到这一点吗?

这是一个示例代码

html:

<div id="wrap">
<div id="imgwrap">
    <div id="imgbox" class="firstimg">
        <div id="imgtitle">
             <h3>Title here</h3>

        </div>
    </div>
    <div id="imgbox" class="secondimg">
        <div id="imgtitle">
             <h3>Title here</h3>

        </div>
    </div>
</div>
</div>

JS:

jQuery(document).ready(function ($) {
$("#imgwrap").mouseleave(function () {
    $(this).find('#imgbox').stop().css('marginLeft', '0');
    $(".secondimg").find('#imgtitle').stop().css('marginLeft', '0');
}).mouseenter(function () {
    $(this).find('#imgbox').animate({
        marginLeft: '-500px',
    }, 1000);
    $(".secondimg").find('#imgtitle').animate({
        marginLeft: '-10px',
    }, 1000);
});
});

CSS:

#wrap {
width: 500px;
position: relative;
margin: 0 auto;
overflow:hidden;
}
#imgwrap {
overflow:hidden;
background: red;
height: 500px;
width:200%;
position: relative;
}
#imgbox {
float:left;
height: 250px;
width: 500px;
overflow: visible;
position:relative;
top:20%
}
.firstimg {
background: blue;
}
.secondimg {
background: green;
}
#imgtitle {
background: black;
width: auto;
position: absolute;
overflow: visible;
bottom:0;
}
.firstimg #imgtitle {
margin-left: -10px;
}

h3 {
font-size:20pt;
line-height: 0em;    
color:white;
padding: 0 80px 0px 10px;
}

链接到小提琴

4

2 回答 2

1

添加padding-left:10px你#wrap。

overflow:hidden从您的#imgWrap 中删除

在您的 javascript 中,编辑此部分

$(this).find('#imgbox').animate({
        marginLeft: '**-510px**',
    }, 1000);

这是 JFiddle:http: //jsfiddle.net/k3cPK/7/

于 2013-10-08T04:18:35.130 回答
0

因为div.imgtitle你拥有width:auto. 显式设置 awidth:150px并设置white-space:nowrap它应该溢出

于 2013-10-08T04:13:31.250 回答