首页 > 解决方案 > word-break:break-word 在 flexbox 中不起作用

问题描述

我在 flexbox 项目.learn--text中有一个文本需要垂直居中,但word-break: break-word规则不起作用。

这是当前状态

在此处输入图像描述

和期望的状态

在此处输入图像描述

.learn {
  display: flex;
  flex: 0 0 50px;
  margin-top: auto;
  align-items: stretch;
  height: 50px;
  border: 1px solid black;
  width: 250px;
}

.learn--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

.learn--text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: 1;
    padding: 0 6px;
    white-space: break-spaces;
    word-break: break-word;
}
<div class="learn"><div class="learn--icon">icon</div><span class="learn--text"><a href="#">Learn more</a> about content management →
</span></div>

标签: htmlcssflexbox

解决方案


擦除所有 flex 设置learn--text- 他们将其内容“划分”为两部分,链接和以下文本,将它们视为 flex 项目,因此视为单元。如果你删除它,结果如下:

.learn {
  display: flex;
  flex: 0 0 50px;
  margin-top: auto;
  align-items: center;
  height: 50px;
  border: 1px solid black;
  width: 250px;
}

.learn--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

.learn--text {
    padding: 0 6px;
    white-space: break-spaces;
    word-break: break-word;
}
<div class="learn"><div class="learn--icon">icon</div><span class="learn--text"><a href="#">Learn more</a> about content management →
</span></div>


推荐阅读