You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为设置了display:flex属性的文本元素强制换行?

Flex布局下label内容溢出无法换行问题

现有代码

相关样式

/* label基础样式 */
.label {
  display: flex;
  align-items: flex-start;
}

/* 布局通用样式 */
.row {
  align-items: center;
  flex-direction: row;
}

.col {
  align-items: stretch;
  flex-direction: column;
}

.fullwidth {
  width: 100%;
  align-items: start;
}

.gap {
  row-gap: 12px;
  column-gap: 12px;
}

.grow {
  flex-grow: 1;
}

页面结构

<div class="col fullwidth">
  <div class="row fullwidth gap">
    <label style="width:100px;">
      <template slot="text">
        <div>Very long text very long text</div>
      </template>
    </label>
    <label class="grow">
      <template slot="text">
        <div>text text</div>
      </template>
    </label>
  </div>
  <div class="row fullwidth gap">
    <inputText style="width: 100px;" />
    <inputText class="grow" />
  </div>
  <div class="row fullwidth gap">
    <label style="width: 100px;">
      <template slot="default">
        <div>Please type in the name of your city</div>
      </template>
    </label>
    <label class="grow">
      <template slot="default">
        <div>Please type in the name of your city</div>
      </template>
    </label>
  </div>
</div>

问题说明

需要实现两个输入框并排展示,上下分别对应放置标签和描述内容。标签和输入框均为Vue组件,label组件已设置display:flex属性。
实际开发中发现,已为第一个label和对应输入框的容器设置100px固定宽度,但label内的超长内容仍然溢出,无法自动换行。此前尝试设置flex-wrap未生效,且必须保留label的display:flex属性。

解决方案

为label新增两个CSS属性即可解决问题:

.label {
  display: flex;
  align-items: flex-start;
  /* 新增两行 */
  flex-wrap: wrap;
  white-space: normal;
}

内容的提问来源于stack exchange,提问作者janesbeat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:12:02