我正在使用 flexbox,每个元素都由其下的图片和文本组成。我需要使所有图片具有相同的高度(宽度可能会有所不同)和要换行的文字,这样它就不会扩展元素。
但我设法只在宽度合理的情况下启用自动换行,而不是高度。
注意:我需要证明图像而不是元素。
.wrapper1,
.wrapper2 {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.flex-item {
margin: 5px;
background-color: #ddd;
}
.wrapper1 .flex-item {
width: 150px;
}
.flex-item p:last-child {
margin-bottom: 0;
}
.card-image {
width: 100%;
}
.card-body {
padding: 7px;
word-wrap: break-word;
}
.wrapper2 .flex-item {
width: auto;
}
.wrapper2 .card-image {
height: 231px;
width: auto;
}
<div class="wrapper1">
<div class="flex-item">
<a href="/comics/novathekeep" title="Нова: Цитадель"><img src="http://warcry.ru/comics/pages/thumb/51.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/novathekeep">Нова: Цитадель</a></p>
</div>
</div>
<div class="flex-item">
<a href="/comics/artanissacrifice" title="Артанис: Великая жертва"><img src="http://warcry.ru/comics/pages/thumb/303.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/artanissacrifice">Артанис: Великая жертва</a></p>
</div>
</div>
<div class="flex-item">
<a href="/comics/kerriganhopeandvengeance" title="Керриган: Надежда и мщение"><img src="http://warcry.ru/comics/pages/thumb/41.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/kerriganhopeandvengeance">Керриган: Надежда и мщение</a></p>
</div>
</div>
</div>
<div class="wrapper2">
<div class="flex-item">
<a href="/comics/novathekeep" title="Нова: Цитадель"><img src="http://warcry.ru/comics/pages/thumb/51.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/novathekeep">Нова: Цитадель</a></p>
</div>
</div>
<div class="flex-item">
<a href="/comics/artanissacrifice" title="Артанис: Великая жертва"><img src="http://warcry.ru/comics/pages/thumb/303.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/artanissacrifice">Артанис: Великая жертва</a></p>
</div>
</div>
<div class="flex-item">
<a href="/comics/kerriganhopeandvengeance" title="Керриган: Надежда и мщение"><img src="http://warcry.ru/comics/pages/thumb/41.jpg" class="card-image" /></a>
<div class="card-body">
<p><a href="/comics/kerriganhopeandvengeance">Керриган: Надежда и мщение</a></p>
</div>
</div>
</div>
第一个 flexbox 具有相同宽度的元素(自动换行有效),第二个 flexbox 具有相同高度的元素(自动换行无效)。
最佳答案
你必须分配 max-width 或 flex-basis 属性
.wrapper2 .flex-item {
flex: 0 1 150px;
}
或
.wrapper2 .flex-item {
max-width: 150px;
}
关于html - flexbox 内的自动换行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46296701/