您的位置:首页 > 其它

div内的内容超出则自动换行

2014-11-10 21:08 363 查看
最近发现div内的内容不能自动换行显示

后来发现中文可以自动换行,英文字符不行(在charset=utf-8情况下)

于是百度了下,找到原因并解决了。下面是转载自:http://noobjava.iteye.com/blog/1168269 的内容

例如:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa不能处理自动换行,将表格伸的很长很长,而汉字字符却可以自动换行。

原因是:

英文字母之间如果没有空格,系统认为是一个单词,就不会自动换行。汉字就没有这种情况。

解决办法:

用表格把要显示的内容装起来。

在<table>标签中加入“style='TABLE-LAYOUT: fixed'”,

在需要强制单词换行的<td>标签中加入“style='word-WRAP: break-word'”。

这样就可以了。

Div 中 :

div 实现长英文字母自动换行CSS

IE浏览器

#wrap{white-space:normal; width:200px; }

或者

#wrap{word-break:break-all;width:200px;}

Firefox浏览器

#wrap{white-space:normal; width:200px; overflow:auto;}

或者

#wrap{word-break:break-all;width:200px; overflow:auto; }

2、不设置单元格宽度,但汉字会自动换行:

解决方法: <table style='word-break:keep-all'>

CSS强制不换行

word-break属性, keep-all;不换行。。 IE7和FF , IE6 不行。。

white-space: nowrap; IE6 及一下版本

顺便写下语法:

语法:

white-space : normal | pre | nowrap

取值:

normal : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行

pre : 换行和其他空白字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为 standards-compliant mode 支持。如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使用,但是不会发生作用。结果等同于 normal 。参阅 pre 对象

nowrap : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。参阅 noWrap 属性

说明:

设置或检索对象内空格字符的处理方式。

空格字符,像换行,空格,TAB,在HTML文档中默认的是被忽略的。当此属性设置为 normal 或者 nowrap 时,你可以使用不换行空格的命名实体 来添加空格,用 br 元素来添加换行。此属性对你使用文档对象模型(DOM)操作的内容的影响与其对IE显示内容的影响一样。

此属性作用于块对象。

此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

对应的脚本特性为 whiteSpace 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: