为什么flexbox拉伸我的形象?
Flexbox具有将图像拉伸到自然高度的行为。 在其他(更具体)的话,如果我有一个带有子图像的flexbox容器,并调整该图像的宽度,高度根本不调整,图像被拉伸。
<div> <img src="https://loremflickr.com/400/300" > <h4>Appify</h4> <p> some text </p> </div>
和这个样式表
div { display: flex; flex-wrap: wrap; } img{ width: 50% }
我加了这个codepen来说明我的意思。 这是什么原因?
它正在伸展,因为align-self
默认值是stretch
。 将align-self
设置为center
。
align-self: center
请参阅文档: align-self
关键是align-self: center
:
.container { display: flex; flex-direction: column; } img { max-width: 100%; } img.align-self { align-self: center; }
<div class="container"> <p>Without align-self:</p> <img src="http://i.imgur.com/NFBYJ3hs.jpg" /> <p>With align-self:</p> <img class="align-self" src="http://i.imgur.com/NFBYJ3hs.jpg" /> </div>
我遇到了与基金会菜单相同的问题。 align-self: center;
没有为我工作。
我的解决scheme是用<div style="display: inline-table;">...</div>
封装图片