css - div中的垂直对齐图像,其中隐藏了max-width / max-height / overflow?

时间:2012-10-02 20:15:50

标签: css overflow

我的文章中有几个div有图像,我用最大宽度/高度和溢出来修剪图像:隐藏效果很好,但它从顶部裁剪图像,我希望它们垂直居中在div。

.image_div {
    max-height: 150px; 
    max-width:99%; 
    overflow: hidden; 
    margin:0px; 
    text-align:center;
}
.image_div img {

}

我正在使用最大宽度/高度,以避免在图像很小的情况下出现大块的白色斑块。我正在寻找可能与CSS?

还应该提一下CSS3解决方案也很棒,因为这是一个移动网站。

2 个答案:

答案 0 :(得分:1)

<style type="text/css">
.imgsquare {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding: 2px;
    border: solid 1px #666;
    background-color: #333;
    border-radius: 4px;
}
.imgsquare * {
    vertical-align: middle;
}

.imgsquare {
    display: block;
}
.imgsquare span {
    display: inline-block;
    height: 100%;
    width: 1px;
}
</style>

<!--[if lt IE 8]>
<style>
.imgsquare span {
    display: inline-block;
    height: 100%;
}
</style>
<![endif]-->

这绘制了一个方形div,其原始纵横比为垂直/水平居中图像 使用:

<div class="imgsquare" style="width:280px; height:280px;">
    <span></span>
    <img style="max-width:260px; max-height:260px;" src="yourPicture.jpg" alt="No Image">
</div>

答案 1 :(得分:0)

我相信你可以像这样使用垂直对齐:

.image_div {
    max-height: 150px; 
    max-width:99%; 
    overflow: hidden; 
    margin:0px; 
    text-align:center;
    vertical-align:text-top;
}

你可以将'text-top'更改为很多东西,w3c在这里列出它们: http://www.w3schools.com/cssref/pr_pos_vertical-align.asp