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

如何在div内容为纯数字时设置自动高度?

解决连续纯数字无法自动换行的问题

连续纯数字属于无空白分隔的长字符串,浏览器默认不会对这类内容自动换行——哪怕你设置了flex-wrap: wrap也没用,因为flex容器里的文本是作为单个匿名flex项存在的,这个长数字串本身不会被拆分。

解决方法很简单,给容器添加word-break: break-all;属性,强制浏览器在容器边界处断行,数字就会自动适配宽度换行,容器高度也会随内容自动调整。

修改后的CSS代码:

#canvas{
    width: 500px;
    height: auto;
    overflow: hidden;
    margin: 20px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    background-color: grey;
    border: 3px solid rgb(90, 90, 90);
    color: white;
    /* 强制长字符串断行 */
    word-break: break-all;
}

你也可以用overflow-wrap: break-word;替代,不过word-break: break-all对纯数字场景更直接,它会在任意位置截断换行;而overflow-wrap会优先尝试在单词边界换行(纯数字没有单词边界,最终效果差不多)。

另外,其实这个场景下flex布局不是必须的,仅靠width+text-align+word-break就能实现需求,保留flex也不会影响效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:25