我使用css flex来布局一系列3行徽标。除了最后一行中的两个更深一些之外,它们都是相同的大小。
最后一行中的所有徽标都被拉伸到相同的深度,即更深的一对。
图像显示徽标1,3和5已垂直拉伸
我该如何阻止这一点。
.brandLogos div{
display:flex;
display:-webkit-flex;
flex-flow: wrap;
-webkit-flex-flow: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.brandLogos img {
border:1px solid green;
margin-right:10px;
margin-bottom:30px;
}
<div class="brandLogos">
<div>
.. 10 previous images
<img src="/uploads/2017/03/santander.jpg" alt="santander logo" width="134" height="70" />
<img src="/uploads/2017/03/Sony.jpg" alt="" width="134" height="119" />
<img src="/uploads/2017/03/talktalk.jpg" alt="talktalk logo" width="134" height="70" />
<img src="/uploads/2017/03/unilever.jpg" alt="unilever logo" width="134" height="119" />
<img src="/uploads/2017/03/Warburtonslogo.jpg" alt="warburtons logo" width="134" height="70" />
</div>
</div>
答案 0 :(得分:3)
您需要设置align-items: center;
,默认情况下为stretch
示例强>
.brandLogos div{
display:flex;
display:-webkit-flex;
flex-flow: wrap;
-webkit-flex-flow: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
align-items: center;
-webkit-align-items: center;
}
更多信息:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
答案 1 :(得分:1)
在容器上使用align-items
。
可能的值是:
flex-start
flex-end
center
baseline
stretch
是默认设置。
答案 2 :(得分:0)
您应该尝试将每个图像包装在div中,将图像设置为宽度100%。 Flexbox仅适用于div,不会延伸任何徽标。
<div class="logo-item">
<img src="/uploads/2017/03/santander.jpg" alt="santander logo" width="134" height="70" />
</div>