css - <button> 中的垂直对齐元素作为 flex 元素

标签 css flexbox

我有许多按钮,里面有不同大小的图像:

<div>
  <button><img src="http://via.placeholder.com/200x200" alt=""></button>
  <button><img src="http://via.placeholder.com/200x100" alt=""></button>
  <button><img src="http://via.placeholder.com/200x50" alt=""></button>
  <button><img src="http://via.placeholder.com/200x200" alt=""></button>
  <button><img src="http://via.placeholder.com/200x150" alt=""></button>
</div>

所以,我想将这些图像垂直对齐到底部,如下图所示:

desired layout

但无论我尝试什么,图像总是垂直居中:

layout with buttons

查看这个 jsFiddle:https://jsfiddle.net/y7efebwg/

有趣的是,如果我使用 div 而不是 button,一切都会按预期工作:https://jsfiddle.net/Lkycyvvf/1/

最佳答案

将按钮的 display 属性设置为 flex 并使用 flex-direction:columnjustify-content:flex- end 似乎可行。

div {
  display: flex;
}

button {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
<div>
  <button><img src="http://via.placeholder.com/200x200" alt=""></button>
  <button><img src="http://via.placeholder.com/200x100" alt=""></button>

</div>

关于css - <button> 中的垂直对齐元素作为 flex 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711001/

相关文章:

javascript - 如果歌剧 - CSS 有什么不同?

javascript - 网格到 ListView ,仅 CSS(带 Flexbox)

html - 扩展 flexbox 容器而不是将 div 向下推到下面

php - 如何使用 CSS 将大写文本转换为标题大小写

html - 使用 flex CSS 属性将 div 定位在图像之上

css - 调整大小时,IE10 flexbox 和自动换行不起作用

html - 如何在 flexbox slider 中正确显示多个图像?

html - 纯CSS解决div堆叠列

javascript - jQuery和outlook风格的导航栏插件

html - 文本对齐 :start not apply just at IE