全是中文: 全是中文则div内部会进行字体占满
前面中文后面英文: 如果多个中文和多个英文(数字)拼接在一起,且英文(数字)末尾字母超出当前行,那么整个英文则会自动换行不会进行位置占满(无论英文是小写(数字)还是小写结果都是一样)
前面英文(数字)后面中文:
两边英文(数字),中间中文:
如果全是英文(数字):
中英文断词方式不一样
这是因为div中,英文字母之间没有空格的话,它会默认认为这是一个英文单词,所以单词就一次输出不换行。那么,难道我们得在每个字母中间加入一个空格来解决这个问题么?其实不用的,可以通过CSS实现
在div的style中设定 word-break:break-all允许单词内换行即可实现自动换行
看 CSS 的解释,word-break: keep-words或者 normal 并且 word-wrap: normal 就好了,text-wrap 也是 normal,有些是默认值,不需要特别指出的。word-break 的解释中提到像中文这种词语间没有间隔时我们通常是 break-all ,而英文都不需要 break-all。
从 break-word 和 break-all 这样的名字你应该能看出来,它是表示把一个词不加区分地无条件地切开。
下面这个页面同时能查到这3个 properties:
http://www.w3.org/TR/2011/WD-css3-text-20110215/#word-break0
..第一次遇到这样的事情,我到网上查了下:原来有很多人也遇到了同样的问题:
例如:aaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa不能处理自动换行,将表格伸的很长很长,而汉字字符却可以自动换行。
其中的原因是:
英文字母之间如果没有空格,系统认为是一个单词,就不会自动换行。汉字就没有这种情况。
解决办法:用表格把要显示的内容装起来。
在<table标签中加入“style='TABLE-LAYOUT:fixed'”,
在需要强制单词换行的<td标签中加入“style='word-WRAP:
break-word'”。
这样就可以了。
Div
中:
div
实现长英文字母自动换行CSSIE浏览器
#wrap{white-space:normal
width:200px
}或者
#wrap{word-break:break-allwidth:200px}
Firefox浏览器