关于css样式中文不换行不兼容谷歌、火狐的解决方法

关于css样式中文不换行不兼容谷歌、火狐的解决方法,今天在改一个织梦系统的[field:info /]...专家介绍的时候,这几行字在ie中是正常全部显示的,可是在谷歌、火狐里却只显示一行,怎么改都不管用,后来用了white-space:pre-wrap;立马成功!

1. word-break:break-all;只对英文起作用,以字母作为换行依据

2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据

3. white-space:pre-wrap; 只对中文起作用,强制换行

4. white-space:nowrap; 强制不换行,都起作用

5. white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不换行,超出部分隐藏且以省略号形式出现(部分浏览器支持)
代码:

.p1{ word-break:break-all; width:150px;}/*只对英文起作用,以字母作为换行依据*/

.p2{ word-wrap:break-word; width:150px;}/*--只对英文起作用,以单词作为换行依据*/

.p3{white-space:pre-wrap; width:150px;}/*只对中文起作用,强制换行*/

.p4{white-space:nowrap; width:10px;}/*强制不换行,都起作用*/

.p5{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; width:100px;}//*不换行,超出部分隐藏且以省略号形式出现*/

注意,一定要指定容器的宽度,不然的话是没有用的。

注意word-break 是IE5+专有属性

语法:

word-break : normal | break-all | keep-all

参数:

normal :  依照亚洲语言和非亚洲语言的文本规则,允许在字内换行

break-all :  该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本

keep-all :  与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本

说明:

设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。

对于中文,应该使用break-all 。

 

注意,兼容火狐浏览器强制英文换行:

<div style="word-wrap:break-word; white-space:normal; word-break:break-all; width:150px;">英文内容</div>

posted @ 2013-01-08 11:33  友情管道工  阅读(879)  评论(0编辑  收藏  举报