列表项里放了一段不换行的长文本,整行被顶出容器,右侧内容被挤出屏幕。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,弹性子项默认最小宽度为内容宽度,不会自动收缩到容器以内。

碰到「flex 子元素溢出」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。报错里带路径的,先去看那个路径在不在、权限对不对。

.row { display: flex; }
.row .item { flex: 1; min-width: 0; }
.row .item .txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

具体做法是,给子项设置可收缩的最小宽度;长文本允许断行;确认父级没有固定宽度限制。

最后用这个标准收尾,长文本在容器内收缩并省略,页面不再横向溢出。

作者 9823189