3

我正在尝试创建一些并排对齐的流体图像,但无论高度尺寸是多少,它们也应该在中间垂直对齐,我已将图像设置为 max-width: 100% 以便它们保持在他们的父母最大宽度内,所以我可以在较小的屏幕宽度上减小这些尺寸。但是,我的问题是我不确定垂直对齐这些图像的最佳方法,有人可以建议吗?

CSS

.img-ctn {
    display: inline-block;
    margin-right: 3%;
    max-width: 120px;
    background: #cecece;
}

.img-ctn > img {
    display: block;
    height: auto;
    max-width: 100%;
    min-width: 100%;
    vertical-align: middle;
}

小提琴:http: //jsfiddle.net/xmJ3R/

4

2 回答 2

8

我想这就是你所要求的。

.container > div {
  display: inline;
}
.container img {
  max-width: 100%;
  vertical-align: middle;
}
<div class="container">
  <div>
    <img src="http://lorempixel.com/100/75/" />
  </div>
  <div>
    <img src="http://lorempixel.com/100/175/" />
  </div>
  <div>
    <img src="http://lorempixel.com/100/25/" />
  </div>
  <div>
    <img src="http://lorempixel.com/150/125/" />
  </div>
</div>

并使用您的代码。

* {
  padding: 0;
  margin: 0;
}
body {
  padding: 20px;
}
.ctn {
  width: 100%;
  text-align: center;
}
.img-ctn {
  display: inline;
  margin-right: 3%;
  max-width: 120px;
  background: #cecece;
  font-size: 0;
}
.img-ctn > img {
  max-width: 100%;
  vertical-align: middle;
}
<div class="ctn">
  <p class="img-ctn">
    <img src="http://dummyimage.com/80x65/000/fff" alt="" />
  </p>
  <p class="img-ctn">
    <img src="http://dummyimage.com/100x30/000/fff" alt="" />
  </p>
  <p class="img-ctn">
    <img src="http://dummyimage.com/70x10/000/fff" alt="" />
  </p>
  <p class="img-ctn">
    <img src="http://dummyimage.com/30x40/000/fff" alt="" />
  </p>
  <p class="img-ctn">
    <img src="http://dummyimage.com/50x65/000/fff" alt="" />
  </p>
</div>

于 2013-07-31T17:49:04.393 回答
1

尝试应用display:table-cell;到图像包装器,然后设置padding:3%;而不是边距:

演示:http: //jsfiddle.net/xmJ3R/

.img-ctn {
    display: table-cell;
    max-width: 120px;
    background: #cecece;
    vertical-align:middle;
    padding:3%;
}

或在里面的图像上设置边距。

于 2013-07-31T17:47:28.793 回答