Flexbox内部的自动换行不起作用

时间:2017-09-19 09:26:42

标签: html css flexbox word-wrap

我使用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>
&#13;
&#13;
&#13;

Fiddle

第一个flexbox具有相同宽度的项目(自动换行),第二个flexbox具有相同高度的项目(自动换行不起作用)。

2 个答案:

答案 0 :(得分:1)

您必须指定max-width或flex-basis属性

.wrapper2 .flex-item {
    flex: 0 1 150px;
}

.wrapper2 .flex-item {
    max-width: 150px;
}

答案 1 :(得分:0)

这对你有用我想,尝试一下让我知道。

.wrapper2 .card-image {
    height: 231px;
}

检查此fiddle