全是中文: 全是中文则div内部会进行字体占满
前面中文后面英文: 如果多个中文和多个英文(数字)拼接在一起,且英文(数字)末尾字母超出当前行,那么整个英文则会自动换行不会进行位置占满(无论英文是小写(数字)还是小写结果都是一样)
前面英文(数字)后面中文:
两边英文(数字),中间中文:
如果全是英文(数字):
中英文断词方式不一样
这是因为div中,英文字母之间没有空格的话,它会默认认为这是一个英文单词,所以单词就一次输出不换行。那么,难道我们得在每个字母中间加入一个空格来解决这个问题么?其实不用的,可以通过CSS实现
在div的style中设定 word-break:break-all允许单词内换行即可实现自动换行
你除了要定宽度,还要加上这2个属性其中之一,就可以实现换行了。1.
word-break:break-all只对英文起作用,以字母作为换行依据
2.
word-wrap:break-word
只对英文起作用,以单词作为换行依据
(考虑到合理性,可优先使用第二个css属性。)
出现此问题是因为系统默认一段不含空格的字母(数字)串为一个单词,系统默认不会从一个单词中间断行,所以溢出了div,设置了上述换行属性亦可解决此问题。
强制不换行div{
white-space:nowrap
}
自动换行
div{
Word-wrap:
break-word
wo
强制不换行
div{
white-space:nowrap
}
自动换行
div{
Word-wrap:
break-word
word-break:
normal
}
强制英文单词断行
div{
word-break:break-all
}
CSS设置不转行:
overflow:hidden
隐藏
white-space:normal
默认
PRe
换行和其他空白字符都将受到保护
nowrap
强制在同一行内显示所有文本,直到文本结束或者遭遇
br
对象
原文转自站长网
设置强行换行:
word-break:
normal
依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all
:
该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all
:
与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本与之间的高度解决办法
英文不换行
CSS里加上
word-break:
break-all
问题解决。这个问题只有IE才有,在FF下测试,FF可以自己加滚动条,这样也不影响效果
建议大家做Skin时,记得在body里加
word-break:
break-all
这样可以解决IE的框架被英文撑开的问题
以下引用word-break的说明,
注意word-break
是IE5+专有属性
语法:
word-break
:
normal
|
break-all
|
keep-all
参数:
normal
:
依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all
:
该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all
:
与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本
说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all
。
对应的脚本特性为wordBreak。请参阅我编写的其他书目。
示例:
div
{word-break
:
break-all
}