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