两种方法的区别说明:
1,word-break:break-all 例如div宽400px,它的内容就会到400px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。
2,word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。还有就是如果单词太长的话也会进行分割。
我遇到一个情况,就是我设置了:
word-break:break-all 或者word-wrap:break-word都无效,字符串不会自动换行。
经过查证,发现原因会有两个:
1、word-wrap对行内元素是没有效果的
2、一般情况下,元素拥有默认的white-space:normal(自动换行,不换行是white-space:nowrap),可能是元素中设置的white-space是norwrap导致,无法换行。所以需要
white-space:normal;
word-break:break-all;
这样问题就解决了。
white-space 对程序中的空白进行处理,默认是normal (浏览器会对空白进行忽略)
3、对table 的td 标签下的元素设置word-wrap:word-break是没有效果的
CSS文本换行技巧
本文详细解释了CSS中word-break: break-all与word-wrap: break-word的区别,前者会在单词过长时将其截断以实现换行,后者则保持单词完整并在必要时整词移至下一行。此外还介绍了如何解决文本不自动换行的问题,包括调整white-space属性及针对不同元素类型的具体解决方案。
1107





