日期:2014-05-17  浏览次数:20663 次

Html中td自动换行问题

问题:
表格有个字段,有可能是长串连续的数字,如1234567787897888888888888888888888,又有可能是一句话,如This   value   is   assigned   by   the   merchant’s   bank   or   processor.  
想让一定长度处自动换行,用<td   width=50>来设定的话,数字却不自动换行,因为系统把数字当成了一个单词。  
我设定<table   rules="all"   style="table-layout:word-wrap:break-word;word-break:break-all">数字是换行 了,但是又会给某个英语单词给打断,这不符合国外客户的需求了。。。  
实在不知道该怎么搞。。

回答:
1、<table style="table-layout:fixed;word-wrap:break-word;"></table>
2、严格地讲,你的要求超越了CSS的能力范围。  

word-wrap   :   normal   |   break-word---------内容将在边界内换行,如果指定为break-word,词内换行(word-break)也将发生。     
word-break   :   normal   |   break-all   |   keep-all       
normal   :    依照亚洲语言和非亚洲语言的文本规则,允许在字内换行。  
break-all   :    该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。  
keep-all   :    与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本 。      
table-layout   :   auto   |   fixed       
auto   :    默认的自动算法。布局将基于各单元格的内容。表格在每一单元格读取计算之后才会显示出来。速度很慢。  
fixed   :    固定布局的算法。在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度,而和表格内容无关。