最近开发过程中,碰到如果标签内是一段长的字母文本。
比如:
这时显示时
可以清楚的看到,她会超过我们的盒子范围,甚至给该标签固定的宽度之后,仍会溢出。
经过查询,造成这个问题的原因是:浏览器在解析我们页面的时候,如果我们给定他连续的数字或字母,浏览器不会分开解析,而是会直接将这一长串当成一个单词,因此我们设置的宽度就失效了,不会自动切断字符串而进行换行。
解决方案:
给元素css增加这两行代码:
word-wrap: break-word;
//允许在单词内换行。给定div宽,字符超过指定宽度就会自动换行。
//如果该行末端有个英文单词很长(confidence等),它会把单词截断
//变成该行末端为con(confidence的前半部分),下一行为fidence(fidence的后端部分)。
word-break: break-all;
//允许长单词换行到下一行。例子与上面一样
//但区别就是它会把confidence整个单词看成一个整体,如果该行末端宽度不够显示整个单词
//它会自动把整个单词放到下一行,不会截断单词。