`
savefrom
  • 浏览: 42248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

防止表格被撑开 CSS word-wrap

阅读更多
运用到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属性是不起作用的。

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

引用: 
--------------------------------------------------------------------
<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. 截断英文单词强行回行

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

可以利用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-->

引用: 


--------------------------------------------------------------------------------

<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" onmouseover="javascript: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.jsp?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;"> 




分享到:
评论

相关推荐

    css中强制换行word-break、word-wrap、white-space区别实例说明

    word-wrap属性是一个旧的非标准属性,后来被CSS3采用,并且被赋予了正式名称overflow-wrap。它主要用来处理当内容溢出容器宽度时的行为。 - normal:只有在允许的断字点处才能换行。 - break-word:在单词内部可以...

    word-break:break-all和word-wrap:break-word区别总结

    在CSS布局中,`word-break:break-all` 和 `word-wrap:break-word` 是两个用于控制文本换行的样式属性,它们的主要区别在于处理长单词和非亚洲语言文本的方式。理解这两个属性的区别对于优化网页排版和确保跨浏览器...

    网页表格或div层在网页中被撑开解决之道

    标题和描述中提到的问题——“网页表格或div层在网页中被撑开”,是设计师经常遇到的挑战。当表格或div容器内的内容(如图片、文字)过大时,如果不进行适当处理,会导致整个页面布局失衡,影响用户体验。以下是一些...

    字符不会撑大表格的常见css样式

    这样一来,如果内容超出设定的宽度,它会把长单词拆开,分散到不同的行中,从而避免表格被撑开。 然而,由于描述中提到英文字符输入会导致表格撑宽的问题,仅仅使用“word-wrap: break-word”和“word-break: break...

    table 中,如何使得单元格的内容不换行,单元格不被撑开,显示不下的时候在结尾处显示“...”

    总结,要让表格单元格内容不换行,单元格不被撑开,并在显示不下的时候在结尾处显示“...”,你需要通过CSS设置`white-space`、`overflow`和`text-overflow`属性,并为单元格设定一个固定的宽度。同时,确保所有可能...

    CSS的Word_break、Word_Wrap的区别及应用

    CSS中的Word_break和Word_wrap属性都是用来控制文本如何换行的,以防止布局混乱。但是这两个属性有着本质的区别,并且在不同的浏览器中表现也会有所不同。了解它们各自的用法以及如何在实际的Web开发中应用这些属性...

    CSS控制文本自动换行的问题

    CSS控制文本自动换行的问题 在网页设计中,CSS控制文本自动换行的问题是一个常见的问题,尤其是在使用表格进行网页排版的时候。...这些样式可以让表格中的字符自动换行,避免网页被撑开,影响网页的布局和美观性。

    html div没有被撑开的原因及解决办法

    通过使用`lj_设置子dom的height 100%即可.png`、`必须清除子dom的float才能撑开父dom.txt`、`absolute存在的时候floate会失效.txt`、`css - div层为什么没有被自动撑开-.url`这些资源,你可以更深入地学习和实践这些...

    css1--关于float的div撑不起父div的问题

    标题中的“css1--关于float的div撑不起父div的问题”指的是在CSS布局中常见的一个技术挑战。在网页设计中,我们经常使用`float`属性来实现元素的浮动,以便进行布局,比如创建多列布局或者使文本环绕图片。然而,...

    CSS网页布局强制换行和强制不换行的属性讲解

    总结来说,理解和熟练运用CSS中的`white-space`、`word-wrap`和`word-break`属性,可以帮助我们更好地控制网页中的文本换行,从而实现理想的布局效果。在设计网页时,应根据具体需求选择合适的属性组合,以达到最佳...

    css实现不再让内容把td撑开的常用解决方法

    在网页设计中,经常遇到一个问题,那就是表格中的单元格(td)会被其内部的内容自动撑开,导致表格的布局混乱。这种情况通常是由于内容长度超过了单元格的预设宽度,浏览器会默认扩展单元格来适应内容。然而,我们...

    可编辑并且能够自动换行的div

    接着,为了实现自动换行,我们主要依赖 CSS 的 `word-wrap` 或 `overflow-wrap` 属性。这两个属性允许在单词内部进行换行,以防止内容溢出容器。通常设置为 `break-word` 即可满足需求: ```css #editableDiv { ...

    html中的div、td 、p 等容器内强制换行和不换行的实现

    - `word-wrap: break-word` 保持单词完整性,当行尾空间不足以容纳整个单词时,单词会被移到下一行。 `word-break` 和 `word-wrap` 的兼容性需要注意,某些浏览器可能不支持特定值。例如,Opera 和 Firefox 不...

    html内容超出了div的宽度如何换行让内容自动换行

    在工作中评论内容测试遇到评论着的评论内容为:...复制代码代码如下: word-wrap:break-word; word-break:break-all; overflow: hidden;/*这个参数根据需要来绝对要不要*/

    table中td内容换行问题

    第二种是针对表格:首先要将table的宽度设置为100%,然后把表格的sytle的table-layout:fixed,就是表格固定宽度,就是表格即要自适应他外面的容器,也不要撑出去,然后设置td的word-wrap:break-word;换行,问题就...

    DIV-CSS-必考题.docx

    DIV-CSS-必考题 CSS面试题目解析 1. 超链接访问过后 hover 样式不出现的问题 问题描述:被点击访问过的超链接样式不在具有 hover 和 active 了。解决方法是改变 CSS 属性的排列顺序:L-V-H-A。 知识点解析:在 ...

    web开发光标停在文字最后 防止前台页面撑开

    #### 二、避免页面被文字撑开 为了避免网页中的长字符串或宽文本造成页面布局的混乱,可以通过CSS来限制文本的宽度,并控制文本换行方式。例如: ```html .aaa { word-break: break-all; /* 自动换行 */ width...

Global site tag (gtag.js) - Google Analytics