【发布时间】:2015-08-05 06:24:52
【问题描述】:
我正在创建一个图像库,其中包含在固定高度和宽度的 div 内的可变高度图像。我父 div 的高度是 460px。我希望所有小于 460px 高度的图像在 div 的中心垂直对齐。
这是我的js代码:
$(document).ready(function(){
var elemst = document.getElementsByName("pictureDiv");
var img = $('.x-simple img');
var parentdiv = $('.x-simple');
for (var i=0;i<elemst.length;i++)
{
var ph = parentdiv.height();
var h = img.height();
console.log('img height' + h);
var mh = Math.ceil((ph - h) / 2);
if(mh>0){
$('.x-simple img').css('margin-top', mh);
}
else
{
$('.x-simple img').css('margin-top', 0);
}
}
});
我的 HTML:
<div class="col-md-12">
<div class="col-md-3 col-xs-12 marg-bottom main-img-wrap">
<div class="xoverlay x-simple" name="pictureDiv">
<a href="#" target="_blank">
<img class="x-img-main" src="pic1.jpg">
</a>
</div>
</div>
<div class="col-md-3 col-xs-12 marg-bottom main-img-wrap">
<div class="xoverlay x-simple" name="pictureDiv">
<a href="#" target="_blank">
<img class="x-img-main" src="pic2.jpg">
</a>
</div>
</div>
<div class="col-md-3 col-xs-12 marg-bottom main-img-wrap">
<div class="xoverlay x-simple" name="pictureDiv">
<a href="#" target="_blank">
<img class="x-img-main" src="pic3.jpg">
</a>
</div>
</div>
<div class="col-md-3 col-xs-12 marg-bottom main-img-wrap">
<div class="xoverlay x-simple" name="pictureDiv">
<a href="#" target="_blank">
<img class="x-img-main" src="pic4.jpg">
</a>
</div>
</div>
我的代码的问题是,如果我执行 console.log('img height' + h);这是我的第一张图片的高度。 我还可以看到“margin-top:0px”被添加到我的所有图片中,无论它们的高度如何。高度较小的图像也会添加“margin-top:0px”,尽管它不应该发生。不知道我的代码哪里出错了。
【问题讨论】:
-
这可能也有帮助:stackoverflow.com/q/12284044/939986 (How to split page into 4 equal parts?) without javascript.
标签: javascript jquery html css