CSS 逗号上的换词

CSS Break Word on Commas

提问人:Adjit 提问时间:9/23/2016 最后编辑:CommunityAdjit 更新时间:5/24/2023 访问量:35283

问:

我正在尝试根据逗号而不是空格来打破一个单词

我已经看到了包括将标签添加到您的 HTML 的解决方案,但是,对于动态信息,现在我需要另一个脚本将其插入到 HTML 文本中,如果用户没有启用 JS,它对我没有多大好处。<wbr>

截至目前,我正在使用以下组合:

white-space: break-word;
word-break: break-all;

它可以作为一个 OK 解决方案,但是,我找到了这两种解决方案(https://stackoverflow.com/a/15137272/1887101;在逗号、点、连字符或其他特殊字符上换开长空格行)已经超过 3 年 - 所以我想知道是否有针对此问题的最新解决方案?

示例字符串:

C31C636363热,80mm,ReStick,串行,A/C,S包含,EDG

样品中断:

C31C636363-热,80mm,ReStick,

串行,A/C,PS包含,EDG

html css (英语

评论

0赞 NSTuttle 9/23/2016
您可以尝试可能适合您,也可能不适合您。word-wrap:break-word;
0赞 9/23/2016
AFAIK 对空格的破坏是硬连线的,其中“空格”包括零宽度空格之类的东西。你能举一个涉及逗号的字符串的例子吗,你希望它如何中断?这是一个可能相关的帖子
0赞 Adjit 9/23/2016
@torazaburo添加了一个示例。没有其他零宽空格或任何添加的内容,只是一个带有逗号的简单字符串。
0赞 Heretic Monkey 9/23/2016
对于此问题,没有更新的解决方案。
0赞 Huangism 9/23/2016
我认为唯一的方法是使用 js 以您需要的方式分解它。我认为您无需担心人们不启用 js。我认为没有 js,网络上 90% 的网站都无法运行

答:

22赞 user663031 9/23/2016 #1

我正在尝试根据逗号而不是空格来打破一个单词

你不能。CSS 不支持这一点。打破空间是硬连线的。

你别无选择,只能使用 JS 来预处理你的内容,也许在逗号后插入零角空格,或者在服务器端这样做。

评论

1赞 Adjit 9/23/2016
是的,我猜。我的意思是说实话,我可能可以通过一个行正则表达式来完成这一点,只需添加一个空格,现在考虑一下。对于数据库字符串限制,我们创建的产品描述没有任何空格...只是逗号,所以如果有一个很好的CSS解决方案,那就太棒了。
0赞 Arvind Mandhare 5/24/2023 #2

我建议用逗号拆分数组,然后使用 for 循环。 下面的代码片段是针对 vue.js 的

                 <div 
                 v-for="(arrayElement) in Array"
                 :key="`Array-${arrayElement.id}`"
                 class="column">
                    {{ arrayElement.name }}
                 </div>