DIV容器内的HTML图像底部对齐

Pat*_*ric 40 html css image alignment spacing

我有一个固定高度的div标签.大多数图像具有相同的高度和宽度.

我想对齐div底部的图像,以便它们排列整齐.这是我到目前为止:

<div id="randomContainer">
    <div id="imageContainer">
        <img src="1.png" alt=""/>
        <img src="2.png" alt=""/>
        <img src="3.png" alt=""/>
        <img src="4.png" alt=""/>
    </div>
    <div id="navigationContainer">
        <!-- navigation stuff -->
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS看起来像:

div#imageContainer {
    height: 160px;  
    vertical-align: bottom;
    display: table-cell;
}
Run Code Online (Sandbox Code Playgroud)

我设法在与底部对齐图像display: table-cellvertical-align: bottomCSS属性.

有没有更简洁的方法将div显示为表格单元格并对齐DIV标签底部的图像?

sek*_*kmo 56

将父div设置为position:relative,将内部元素设置为position:absolute; bottom:0

  • 这仅在您设置容器的高度时有效. (11认同)

thi*_*dot 47

这是你的代码:http://jsfiddle.net/WSFnX/

使用display: table-cell很好,只要你知道它在IE6/7中不起作用.除此之外,它是安全的:使用`display:table-cell`on divs是否有缺点?

要修复底部的空间,请添加vertical-align: bottom到实际的imgs:

http://jsfiddle.net/WSFnX/1/

删除图像之间的空间归结为:bikesheding CSS3属性替代?

所以,这是一个在HTML中删除了空格的演示:http://jsfiddle.net/WSFnX/4/


Dan*_*iel 13

Flexboxes可以通过完成这一align-items: flex-end;display: flex;display: inline-flex;

div#imageContainer {
    height: 160px;  
    align-items: flex-end;
    display: flex;
}
Run Code Online (Sandbox Code Playgroud)

CSS-Tricks有一个很好的flexboxes指南

  • 我认为您不需要`flex-direction:column;`部分;对我来说效果很好! (2认同)

com*_*tos 6

<div> 有一定比例

div {
  position: relative;
  width: 100%;
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

<img>有自己的比例

img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: auto; /* to keep proportions */
  height: auto; /* to keep proportions */
  max-width: 100%; /* not to stand out from div */
  max-height: 100%; /* not to stand out from div */
  margin: auto auto 0; /* position to bottom and center */
}
Run Code Online (Sandbox Code Playgroud)