一。关于TD的noWrap属性
提出问题:
<td width=”28%” align=”right” nowrap >
我设置nowrap和不设置nowrap效果都一样。就是表格随着文字自动伸展,为什么?
→回答问题:
TD元素noWrap属性的行为与TD元素的width属性有关。
◆如果未设置TD宽度,则noWrap属性是起作用的。
◆如果设置了TD宽度,则noWrap属性是不起作用的。
示例文件,点击运行按钮,查看效果
HTML 代码
引用:
——————————————————————–
代码如下 | 复制代码 |
<html> <head> <title>wrap 属性研究</title> <meta http-equiv=”Content-Type” content=”text/html;; charset=gb2312″> </head> <body bgcolor=”#FFFFFF” text=”#000000″> <p> 测试字符串:</p> <p>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</p> <p>单元格未设置 nowrap属性的空表:</p> <table width=”100″ border=”1″ cellspacing=”0″ cellpadding=”0″> <tr> <td> ;;</td> </tr> </table> <p> 加入测试字符串:</p> <table width=”100″ border=”1″ cellspacing=”0″ cellpadding=”0″> <tr> <td> 我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td> </tr> </table> <p> 单元格设置了nowrap属性,未设置width属性:</p> <table width=”100″ border=”1″ cellspacing=”0″ cellpadding=”0″> <tr> <td nowrap> 我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td> </tr> </table> <p> 单元格设置了nowrap属性,也设置了width属性:</p> <table width=”200″ border=”1″ cellspacing=”0″ cellpadding=”0″> <tr> <td width=”120″ nowrap>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td> <td> ;;</td> </tr> </table> </body> </html> |
———————————————————————-
———————————————————————-
二。 table的宽度,单元格内换行问题
1. 要想固定table的总的宽度和每列的宽度:
<TABLE id=”Table1″ style=”TABLE-LAYOUT:fixed” border=”1″>
或在脚本中:
this.style.tableLayout = fixed
2. 换行问题
<td>有个attribute 叫 NOWRAP,可以控制每个单元格是否允许换行
<TD nowrap=true>
或者
this.noWrap = true
3. 截断英文单词强行回行
上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。
可以利用中的word-break 风格来达到我们的目的:
<TABLE id=”Table1″ style=”TABLE-LAYOUT:fixed;;word-break:break-all” border=”1″>
或在脚本中:
this.style. wordBreak = break-all
String设置或获取一个下面的值:
normal
缺省值. 允许从每个词处回行。
break-all
不管在什么位置,超过列宽时就回行。
keep-all
不允许 Chinese, Japanese, 和 Korean 回行。这个功能类似与“normal” 的非亚洲语言版本。
总结,先用noWrap强行令文字不换行,再用style=”TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collae: collapse”强制表格不撑开,即达到效果。
效果演示:<!–代码引自aoyun.topcool.net/index.html–>
HTML 代码
引用:
代码如下 | 复制代码 |
——————————————————————————– <TABLE cellSpacing=0 cellPadding=0 width=”100%” border=1 bordercolor=”#A5C9CE”> <TBODY> <COLGROUP> <COL bgColor=#ffffff align=middle width=104> <COL class=text105 bgColor=#ffffff width=* nowrap> <COL class=text9 bgColor=#f7fcff align=middle width=”14%”> <COL class=ef bgColor=#ffffff align=middle width=18% nowrap> <COL align=middle width=10% nowrap> <TBODY> <TR class=”row1″ align=middle bgColor=#49a7db height=20> <TD><NOBR></NOBR></TD> <TD><font color=”#004d69″><b>主题</b>< /font></TD> <TD><font color=”#004d69″><b>主题数|回复数</b>< /font></TD> <TD><font color=”#004d69″><b>最后发表主题</b>< /font></TD> <TD><font color=”#004d69″><b><NOBR> 版 主</NOBR></b></font></TD> </TR> <TR> <TD class=”row1″><img src=”forumData/logo/logo112.gif”></TD> <TD valign=”middle” class=”row2″ onmouver=”:this.style.backgroundColor=’#E9F4F7′;;” onmouseout=”javascript:this.style.backgroundColor=’#f4f4f4′;;” > <table width=”100%” style=”TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collapse: collapse”> <tbody> <tr> <td nowrap><b><a title=”雅典赛事竞猜” href=”ShowForumThreadTree.do?m=1&forumID=112″> 『 雅典赛事竞猜 』</a></b> </td> <td nowrap> 享受奥运精彩,参与奥运竞猜,为中国健儿加油,更有大奖等你拿!别在门外徘徊,赶快进来! </td> </tr> </tbody> </table> </TD> <TD noWrap class=”row1″>54/<font color=”#FF3300″>1153</font></TD> <TD nowrap class=”row2″> <table cellspacing=”3″ style=”TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collapse: collapse”> <tr> <td height=”2″></td> </tr> <tr> <td align=”center” nowrap><a title=”热爱奥运 关心s中国的进来 不爱过的就别进来了” href=”ShowThreadMessage.do?m=1&threadID=5087&forumID=112&threadPage=1″> 热爱奥运 关心s中国的进来 不爱过的就别进来了</a> 2004-08-23 14:22 <a title=”woaiaoyun1″ target=”_blank” href=”usr_info.?userName=woaiaoyun1″>woaiaoyun1</a></td> </tr> <tr><td height=”2″></td> </tr> </table></TD> <TD nowrap class=”row2″><a title=”奥运之星” target=”_blank” href=”usr_info.jsp?userName=奥运之星” >奥运之星</a> </TD> </TR> </TBODY> </TABLE> </td> </tr> </table> |
html 防止表格被撑开的css方法
代码如下 | 复制代码 |
table { table-layout: fixed; word-wrap:break-word; } div { word-wrap:break-word; } |
要不在表格里加style=”word-break:break-all;”
如
代码如下 | 复制代码 |
:<table width=”98%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″ style=”word-break:break-all;”> |