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

如何防止网页中yyyy-mm-dd格式日期字符串在连字符处异常换行

问题原因

overflow-wrap、word-break属性不生效的核心逻辑:浏览器默认将ASCII短横线-判定为合法软换行断点,容器宽度不足时会优先在短横线位置折行,这两个属性本身不覆盖连字符的默认换行规则,所以单独加这两个属性解决不了问题。

可行解决方案

方案1:纯CSS实现(优先推荐,无需修改原始日期内容)

给承载日期列表的div元素添加如下CSS属性即可:

.date-list {
  hyphens: none;
  word-break: keep-all;
}

核心生效属性是hyphens: none,专门用来禁用浏览器默认的连字符位置自动换行规则;word-break: keep-all用来保证连续的日期字符串不会从数字中间被拆分。
如果需要适配IE这类极老旧浏览器,可以追加一行line-break: strict;强化换行规则约束。

注意:除非你需要整行日期单行展示加省略号,否则不要加white-space: nowrap,该属性会完全禁用所有折行,导致内容超出容器宽度出现横向滚动条。

方案2:字符替换实现(兼容性拉满,适配所有浏览器版本)

如果CSS方案在你的目标浏览器上存在兼容问题,可以将所有日期字符串中的普通短横线-替换为非断字连字符‑(Unicode编码:U+2011)。
不用担心里边的短横线显示异常,这个字符渲染出来和普通半角短横线完全一致,肉眼看不出区别,但浏览器不会将其识别为可换行断点,能保证每个YYYY-MM-DD格式的日期永远作为整体折行,只会在两个日期之间的空格位置换行,不会出现单条日期从短横线处被拆成两段的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:45:53