*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Socket编程>文章内容
HTML有趣的文本不自动换行问题
作者: 发布时间:2008-09-04 20:31:00
今天同事做一个文本自动换行的效果。比如一个字符串"12345678901234567890",由于宽度只有50px,所以想到达到以下这样的效果
 
123456
789012
345678
90
 
HTML代码如下:
 
<TABLE border=1>
  <TR>
    <TD width=50px>12345678901234567890</TD>
  </TR>
</TABLE>
 
以前自己理解的是缺省就会自动换行,结果测试总不成功,真是郁闷,难度和字符串有关。
果然,字符串"我想回家我想回家"又可以换行成功。
于是仔细分析了一下,终于理解了,原因IE浏览器的缺省换行是不会断开单词的,"12345678901234567890"字符串中间没有任何分隔符,所以它认为是一个不可断开的单词,因此以不换行处理。字符串"我想回家我想回家"有汉字,词法解析时认为双字节字符都可以分开,所以就正确换行了。

如果在字符串中间加一个空格也行,但是逗号不行。
 
查了一上css参考手册,如果要强制换行的话,可以设置对象的CSS属性word-wrap="break-word",或者设置word-break="break-all"
 
测试代码如下所示
 
  1. <HTML>
  2.  <HEAD>
  3.  </HEAD>
  4.  <BODY>
  5. <TABLE border=1>
  6.  <TR>
  7.     <TD width=50px>12345678901234567890</TD>
  8.  </TR>
  9.  </TABLE>
  10. <br/>
  11. <TABLE border=1>
  12.  <TR>
  13.     <TD width=50px>我想回家我想回家</TD>
  14.  </TR>
  15.  </TABLE>
  16. <br/>
  17. <TABLE border=1>
  18.  <TR>
  19.     <TD width=50px>1234567890 1234567890</TD>
  20.  </TR>
  21.  </TABLE>
  22. <br/>
  23. <TABLE border=1>
  24.  <TR>
  25.     <TD width=50px style="word-wrap:break-word">12345678901234567890</TD>
  26.  </TR>
  27.  </TABLE>
  28. <br/>
  29. <TABLE border=1>
  30.  <TR>
  31.     <TD width=50px style="word-break:break-all">12345678901234567890</TD>
  32.  </TR>
  33.  </TABLE>
  34.  </BODY>
  35. </HTML>

· String StringBuffer StringBuilder (09-04)
· JBoss4在MyEclipse中无法启动的一个解(09-04)
· Java调用Delphi DLL实例(直接调和通(09-04)
· Spring包结构以及各个包之间引用关系(09-04)
· springAop日志管理(09-04)
· ArrayList Vector LinkedList 区别与(09-04)
· ArrayList Vector LinkedList 区别与(09-04)
· hibernate3学习笔记(十六)|容器映射(09-03)
·ExtJS 中的JSON優勢(09-02)
· java操作文件(创建、删除、复制、剪(09-02)
·充分理解Socket(02-25)
·Socket编程指南及程序示例 (01-27)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处