CSS如何使中文自动换行?

html-css017

CSS如何使中文自动换行?,第1张

大家都知道连续的英文或数字能是容器被撑大,不能根据容器的大小自动换行,下面是

CSS如何将他们换行的方法!

对于div

1.(IE浏览器)white-space:normal

word-break:break-all这里前者是遵循标准。

#wrap{white-space:normal

width:200px

}

或者

#wrap{word-break:break-allwidth:200px}

ddd1111111111111111111111111111111111

效果:可以实现换行

2.(Firefox浏览器)white-space:normal

word-break:break-alloverflow:hidden同样的FF下也没有很好的实现方法,只能隐藏或者加滚动条,当然不加滚动条效果更好!

#wrap{white-space:normal

width:200px

overflow:auto}

或者

#wrap{word-break:break-allwidth:200px

overflow:auto

}

ddd1111111111111111111111111111111111111111

效果:容器正常,内容隐藏

对于table

1.

(IE浏览器)使用样式table-layout:fixed;

.tb{table-layout:fixed}

abcdefghigklmnopqrstuvwxyz

1234567890

效果:可以换行

2.(IE浏览器)使用样式table-layout:fixed与nowrap

.tb

{table-layout:fixed}

abcdefghigklmnopqrstuvwxyz

1234567890

效果:可以换行

3.

(IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap

.tb{table-layout:fixed}

abcdefghigklmnopqrstuvwxyz

1234567890

abcdefghigklmnopqrstuvwxyz

1234567890

效果:两个td均正常换行

4.(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div

.tb

{table-layout:fixed}

.td

{overflow:hidden}

abcdefghigklmnopqrstuvwxyz

1234567890

abcdefghigklmnopqrstuvwxyz

1234567890

这里单元格宽度一定要用百分比定义

效果:正常显示,但不能换行(注:在FF下还没有能使容器内容换行的好方法,只能用overflow将多出的内容隐藏,以免影响整体效果)

强制不换行

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

}