在响应式图像上垂直居中div标题

时间:2013-08-10 05:53:35

标签: javascript jquery

我正试图将一个绝对定位的标题垂直居中于具有灵活高度(最大宽度:100%;)并且有问题的图像上。我知道我需要使用JS来检测div的高度并调整字幕div的顶部位置,但是我遇到了麻烦。

http://jsfiddle.net/A69Xr/

    <div id="nav">navigation</div>
<div id="slider">
    <img src="http://codeword.org/wp-content/uploads/2011/07/aspen_colorado.jpg">
    <div class="caption">
        <div class="wrap">
            <h1>Title</h1>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

如果您知道标题的宽度和高度,可以在CSS中完成:

假设字幕宽400像素,高90像素

#slider {
    position:relative;
}

.caption {
    position:absolute;
    margin-left:-200px;
    margin-top:-45px;
    top:50%;
    left:50%;
    width:400px;
    height:90px;
}

这将把它推向中心50%。然后使用负边距偏移一半宽度和一半高度。这将为您提供中心。

答案 1 :(得分:2)

您可以使用jQuery执行此操作:

1)获取img标签的高度 2)将标题类的顶部设置为图像高度的一半。

var imgHeight = $('img').height();
$('.caption').css({'top': imgHeight/2});
相关问题