对齐居中的垂直和水平不规则缩略图

时间:2015-12-22 05:58:26

标签: css html5

再次提出这个问题,因为它被标记为重复(它不是),我觉得它被埋没了。请在将此标记为另一个帖子的另一个副本之前阅读。

我正在尝试将一些不规则形状的缩略图居中对齐到网格中,当浏览器窗口缩小时,该网格会分成列。我真的很接近这个代码,但我需要在每个图像下面的标题。我找不到这个问题的答案。我认为figcaption会起作用,但它会变得奇怪。缩略图的最大尺寸可以是200px ^ 2。所有这些缩略图都保持着它们的比例。

JS Fiddle Example

//CSS
.centered {
    width: 200px;
    height: 200px;
    padding: 20px;
    border: 1px solid red;  /* for testing only */
    display: flex;
    justify-content: center; /* align horizontal */
    align-items: center; /* align vertical */
    float:left;
}

//HTML
<div class="centered">
    <img src="http://placehold.it/200x150" alt="" />
</div>

<div class="centered">
    <img src="http://placehold.it/150x200" alt="" />
    <figcaption>This text isn't working properly</figcaption>
</div>

<div class="centered">
    <img src="http://placehold.it/200x160" alt="" />
</div>

<div class="centered">
    <img src="http://placehold.it/140x200" alt="" />
</div>

<div class="centered">
    <img src="http://placehold.it/200x150" alt="" />
</div>

1 个答案:

答案 0 :(得分:1)

基本上你需要更改你的HTML。您应该在image代码中使用figcaptionfigure

.centered {
    width: 200px;
    height: 200px;
    padding: 20px;
    border: 1px solid red;  /* for testing only */
    display: flex;
    justify-content: center; /* align horizontal */
    align-items: center; /* align vertical */
    float:left;
}
figure{
	margin:0;
	padding:0;
}
figure img{
	display:block;
	margin: 0 auto;
}
<div class="centered">
    <img src="http://placehold.it/200x150" alt="" />
</div>

<div class="centered">
    <figure>
    	<img src="http://placehold.it/150x200" alt="" />
    	<figcaption>This text isn't working properly</figcaption>    	
    </figure>
</div>

<div class="centered">
    <img src="http://placehold.it/200x160" alt="" />
</div>

<div class="centered">
    <img src="http://placehold.it/140x200" alt="" />
</div>

<div class="centered">
    <img src="http://placehold.it/200x150" alt="" />
</div>