td 属性 noWrap 防止折行、撑开(及其它文字换行问题)

本文解释了HTML中td元素的nowrap属性及其使用方法,包括nowrap属性与td元素width属性的关系,提供了具体代码演示教学,同时介绍了CSS中强制换行或不换行的写法,解决网页设计排版时遇到的文本撑开问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用为td中noWrap属性来防止td数据折行

<td class="text_left" noWrap="noWrap">${msg.cspName}&nbsp;</td>

 

解决问题期间查询了些网络资料,以备后用

 

 

td中的nowrap

url:http://linder0209.javaeye.com/blog/319160

http://blog.csdn.net/lin0shyi1/archive/2009/03/16/3995083.aspx

 

本文解释了nowrap是什么意思,以及在td中nowrap的使用,并提供了一个详细的完整代码来具体演示教学。

nowrap是什么意思

HTML中td元素的nowrap属性表示禁止单元格中的文字自动换行。
但使用时要注意的是,td元素noWrap属性的行为与td元素的width属性有关。

td元素中nowrap属性的行为与td元素的width属性有关。如果未设置td宽度,则nowrap属性起作用的,如果设置了td宽度,则nowrap属性不起作用。

nowrap详细解说
nowrap表示是否允许表格中的文本换行
nowrap=true的时候不能换行
nowrap=false可以换行

nowrap实例演示

 

<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>&nbsp;</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>&nbsp;</td>
</tr>
</table>
</body>
</html>
补存1
在css中控制强制换行或不换行的写法为:
语法:
white-space : normal | pre | nowrap |inherit
取值:
normal   : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行
pre   : 换行和其他空白字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为 standards-compliant mode 支持。如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使用,但是不会发生作用。结果等同于 normal 。参阅 pre 对象
nowrap   : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象。参阅 noWrap 属性

 

补存2

 

网页设计排版的时候遇到了这样一个问题,就是我的网页是分块的,每块有不同的内容,今天发现,有块输入内容时,把别的块都撑的不成样子了,下面列出来的是我通过baidu检索的解决方案,现摘录到这里,方便以后查阅!

强制不换行
div{
white-space:nowrap;
}
自动换行
div{
word-wrap: break-word;
word-break: normal;
}
强制英文单词断行
div{
word-break:break-all;
}


CSS设置不转行:
overflow:hidden 隐藏
white-space:normal 默认
              pre 换行和其他空白字符都将受到保护
              nowrap 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象
设置强行换行:
word-break:
            normal: 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
            break-all:该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
            keep-all:与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本与之间的高度解决办法

英文不换行
    CSS里加上 word-break: break-all; 问题解决。这个问题只有IE才有,在FF下测试,FF可以自己加滚动条,这样也不影响效果
建议大家做Skin时,记得在body里加 word-break: break-all; 这样可以解决IE的框架被英文撑开的问题

说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all 。
对应的脚本特性为wordBreak。
示例:
div {word-break : break-all; }

下面的是多浏览器支持CSS 容器内容超出(溢出)支持自动换行完美代码
<style type="text/css">
.linebr {
clear: both; /* 清除左右浮动 */
width: 100px; /* 必须定义宽度 */
word-break: break-word; /* 文本行的任意字内断开 */
word-wrap: break-word; /* IE */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP printers */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
}

 

 

 

 

防止表格被撑开 CSS word-wrap

 

url:http://www.javaeye.com/topic/263249

 

运用到TD的noWrap属性,以及table的style="TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collapse: collapse"代码配合
一。关于TD的noWrap属性
☆提出问题:
<td width="28%" align="right" nowrap >
我设置nowrap和不设置nowrap效果都一样。就是表格随着文字自动伸展,为什么?

→回答问题:
TD元素noWrap属性的行为与TD元素的width属性有关。

◆如果未设置TD宽度,则noWrap属性是起作用的。
◆如果设置了TD宽度,则noWrap属性是不起作用的。


示例文件,点击运行按钮,查看效果

 

Java代码 复制代码
  1. 引用:    
  2. --------------------------------------------------------------------   
  3. <html>   
  4. <head>   
  5. <title>wrap属性研究</title>   
  6. <meta http-equiv="Content-Type" content="text/html;; charset=gb2312">   
  7. </head>   
  8.   
  9. <body bgcolor="#FFFFFF" text="#000000">   
  10. <p>测试字符串:</p>   
  11. <p>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</p>   
  12. <p>单元格未设置nowrap属性的空表:</p>   
  13. <table width="100" border="1" cellspacing="0" cellpadding="0">   
  14. <tr>   
  15. <td> ;;</td>   
  16. </tr>   
  17. </table>   
  18. <p>加入测试字符串:</p>   
  19. <table width="100" border="1" cellspacing="0" cellpadding="0">   
  20. <tr>    
  21. <td>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td>   
  22. </tr>   
  23. </table>   
  24. <p>单元格设置了nowrap属性,未设置width属性:</p>   
  25. <table width="100" border="1" cellspacing="0" cellpadding="0">   
  26. <tr>   
  27. <td nowrap>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td>   
  28. </tr>   
  29. </table>   
  30. <p>单元格设置了nowrap属性,也设置了width属性:</p>   
  31. <table width="200" border="1" cellspacing="0" cellpadding="0">   
  32. <tr>   
  33. <td width="120" nowrap>我终于明白,我其实有一条韧性十足的命,它远比我想象中的那条命结实得多、耐磨的多……</td>   
  34. <td> ;;</td>   
  35. </tr>   
  36. </table>   
  37. </body>   
  38. </html>    
  39. ----------------------------------------------------------------------  
 


二。 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. 截断英文单词强行回行

上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。

可以利用css中的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-collapse: collapse"强制表格不撑开,即达到效果。

效果演示:<!--代码引自aoyun.topcool.net/index.html-->

Java代码 复制代码
  1. 引用:    
  2.   
  3.   
  4. --------------------------------------------------------------------------------   
  5.   
  6. <TABLE cellSpacing=0 cellPadding=0 width="100%" border=1 bordercolor="#A5C9CE">   
  7. <TBODY>   
  8. <COLGROUP>   
  9. <COL bgColor=#ffffff align=middle width=104>   
  10. <COL class=text105 bgColor=#ffffff width=* nowrap>   
  11. <COL class=text9 bgColor=#f7fcff align=middle width="14%">   
  12. <COL class=ef bgColor=#ffffff align=middle width=18% nowrap>   
  13. <COL align=middle width=10% nowrap>    
  14. <TBODY>   
  15. <TR class="row1" align=middle bgColor=#49a7db height=20>    
  16. <TD><NOBR></NOBR></TD>   
  17. <TD><font color="#004d69"><b>主题</b></font></TD>   
  18. <TD><font color="#004d69"><b>主题数|回复数</b></font></TD>   
  19. <TD><font color="#004d69"><b>最后发表主题</b></font></TD>   
  20. <TD><font color="#004d69"><b><NOBR>版 主</NOBR></b></font></TD>   
  21. </TR>   
  22. <TR>    
  23. <TD class="row1"><img src="forumData/logo/logo112.gif"></TD>   
  24. <TD valign="middle" class="row2" οnmοuseοver="javascript:this.style.backgroundColor='#E9F4F7';;" οnmοuseοut="javascript:this.style.backgroundColor='#f4f4f4';;" >   
  25. <table width="100%" style="TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collapse: collapse">   
  26. <tbody>   
  27. <tr>    
  28. <td nowrap><b><a title="雅典赛事竞猜" href="ShowForumThreadTree.do?m=1&forumID=112">『 雅典赛事竞猜 』</a></b>   
  29. </td>   
  30. <td nowrap>享受奥运精彩,参与奥运竞猜,为中国健儿加油,更有大奖等你拿!别在门外徘徊,赶快进来! </td>   
  31. </tr>   
  32. </tbody>   
  33. </table>   
  34. </TD>   
  35. <TD noWrap class="row1">54/<font color="#FF3300">1153</font></TD>   
  36. <TD nowrap class="row2">   
  37. <table cellspacing="3" style="TABLE-LAYOUT: fixed;; WORD-BREAK: break-all;;border-collapse: collapse">   
  38. <tr>   
  39. <td height="2"></td>   
  40. </tr>   
  41. <tr>   
  42. <td align="center" nowrap><a title="热爱奥运 关心s中国的进来 不爱过的就别进来了" href="ShowThreadMessage.do?m=1&threadID=5087&forumID=112&threadPage=1">热爱奥运 关心s中国的进来 不爱过的就别进来了</a>   
  43. 2004-08-23 14:22    
  44. <a title="woaiaoyun1" target="_blank" href="usr_info.jsp?userName=woaiaoyun1">woaiaoyun1</a></td>   
  45. </tr>   
  46. <tr><td height="2"></td>   
  47. </tr>   
  48. </table></TD>   
  49. <TD nowrap class="row2"><a title="奥运之星" target="_blank" href="usr_info.jsp?userName=奥运之星" >奥运之星</a>   
  50. </TD>   
  51. </TR>   
  52. </TBODY>   
  53. </TABLE>   
  54. </td>   
  55. </tr>   
  56. </table>   
  57.   
  58.   
  59. html防止表格被撑开的css方法   
  60. table {    
  61. table-layout: fixed;   
  62. word-wrap:break-word;   
  63. }   
  64. div {    
  65. word-wrap:break-word;   
  66. }   
  67.   
  68. 要不在表格里加style="word-break:break-all;"  
  69.   
  70. 如:<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" style="word-break:break-all;">   




 

 

<think>好的,用户现在问的是CSS如何强制文字换行。之前他们问过JDBC的PreparedStatement处理LIKE的情况,可能是在开发Web应用时遇到了问题,比如数据库查询和前端显示的问题。现在需要解决的是前端显示文本不换行的情况。 首先,我需要回忆CSS中控制文本换行的相关属性。常见的属性有white-space、overflow、text-overflow,可能还有word-break和overflow-wrap。用户的需求是强制不换行,并且可能还需要处理溢出内容,比如显示省略号。 用户可能的情况是,有一个容器,里面的文字过长导致换行,影响了布局或美观。比如表格中的某个单元格,或者导航菜单中的文本,需要在一显示,超出部分隐藏或用省略号表示。 接下来要确定正确的属性组合。white-space: nowrap; 是强制不换行的关键。然后,可能需要设置overflow: hidden; 来隐藏溢出内容,以及text-overflow: ellipsis; 来显示省略号。同时,要确保容器的宽度是固定的,否则这些属性可能不起作用。 还要注意不同浏览器的兼容性,但现代浏览器对这些属性的支持应该不错。可能还需要提到word-break和overflow-wrap的区别,比如处理长单词或URL时的换行情况,但用户的问题是不换行,所以可能不需要深入这部分。 另外,用户可能不知道如何将这些属性组合使用,所以给出一个完整的示例会比较好。比如: .container { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 200px; /* 必须指定宽度 */ } 需要强调width的重要性,因为如果容器没有固定宽度,文本可能不会溢出,也就看不到效果。 可能用户的问题中,文字换行是因为容器宽度不足,而默认的white-space是normal,导致自动换行。所以设置nowrap即可阻止换行,加上溢出处理和省略号会更友好。 还要检查是否有其他相关属性,比如flex布局中的项目可能会默认收缩,影响宽度,可能需要设置min-width: 0; 来允许收缩,但这是更进阶的内容,可能用户暂时不需要,但如果有时间可以简单提及。 总结回答的结构:先介绍white-space属性,然后overflow和text-overflow的组合使用,强调width的必要性,给出代码示例,可能的应用场景,以及注意事项。</think>在 CSS 中强制文字换行主要通过 `white-space` 属性实现。以下是具体方法和常见应用场景: --- ### **1. 核心属性:`white-space`** 设置 `white-space: nowrap;` 可强制文本在一显示,**不换行**。 ```css .text { white-space: nowrap; /* 文本不换行 */ } ``` --- ### **2. 配合溢出处理** 若容器宽度不足,需配合 `overflow` 和 `text-overflow` 控制溢出内容: ```css .text { white-space: nowrap; /* 不换行 */ overflow: hidden; /* 隐藏溢出内容 */ text-overflow: ellipsis; /* 溢出部分显示省略号... */ width: 200px; /* 必须指定宽度(或 max-width) */ } ``` --- ### **3. 应用场景** - **表格单元格**:防止长文本撑开表格 ```css td { white-space: nowrap; } ``` - **导航菜单**:保证菜单项单显示 ```css .menu-item { white-space: nowrap; padding: 8px 16px; } ``` - **标签或按钮**:保持内容紧凑 ```css .tag { white-space: nowrap; display: inline-block; } ``` --- ### **4. 其他相关属性** | 属性 | 作用 | 示例 | |------|------|------| | `word-break` | 控制单词内换行 | `word-break: break-all;` | | `overflow-wrap` | 长单词或URL换行 | `overflow-wrap: break-word;` | --- ### **完整代码示例** ```html <div class="container"> <p class="no-wrap-text">这是一段非常长的文本,会强制显示在一换行,超出部分隐藏并显示省略号...</p> </div> <style> .container { border: 1px solid #ccc; padding: 10px; max-width: 300px; /* 限制容器宽度 */ } .no-wrap-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } </style> ``` --- ### **注意事项** 1. `white-space: nowrap` 对 `inline` 元素无效,需设置为 `inline-block` 或 `block` 2. 必须指定容器宽度(`width`/`max-width`),否则溢出控制不生效 3. 在 Flex 布局中,可能需要添加 `min-width: 0` 强制子项收缩 通过这种方式,既能保证文本布局的整洁性,又能提升用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值