本站首页    管理页面    写新日志    退出

«July 2025»
12345
6789101112
13141516171819
20212223242526
2728293031


公告

  如果你忍了,欺负你的人将来可能就进监狱了。如果你反击,欺负你的人将来可能就获选十大杰出青年了。

        QQ: 3159671

http://greenboy.javaeye.com/

http://blog.sina.com.cn/u/1278341164 小鸟吹烟


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:小鸟吹烟
日志总数:157
评论数量:424
留言数量:-1
访问次数:1250379
建立时间:2006年10月23日




[J2SE]table的宽度,单元格内换行问题 
文章收藏,  网上资源

tone 发表于 2007/3/10 16:35:19

  http://www.cnblogs.com/huqingyu/archive/2006/01/10/314522.html table的宽度,单元格内换行问题      选择自 chnking 的 Blog 一.     要想固定table的总的宽度和每列的宽度:   <TABLE id="Table1" style="TABLE-LAYOUT:fixed" border="1"> 或在脚本中: this.style.tableLayout = fixed   HTML { table-layout : sLayout } Scripting object.style.tableLayout [ = sLayout ] 可能的值:   sLayout String 设置或获取下面的值: auto 缺省设置. 列宽将设置为不可分割的最大的内容的宽度。 fixed 表的宽度和列的宽度固定,不随单元格中内容而改变 一.     设置了各个列的宽,没有设表的宽:表的宽度等于各个列的宽度的和 二.     设置了表的宽度,没有设各个列的宽度:各个列的宽度平均分配 三.     要是都没设置宽度:表的宽度为100%,各个列的宽度平均分配   二.     换行问题 <td>有个attribute 叫 NOWRAP,可以控制每个单元格是否允许换行   <TD nowrap=true> 或者 this.noWrap = true   HTML <ELEMENT NOWRAP ... > Scripting object.noWrap [ = bWrap ] 可能的值: bWrap Boolean 设置或获取一个下面的值:. false 缺省值. 允许单元格的单词字符回行. true 不允许单元格回行,除非字符中含有”<br>”   Asp.net的DataGrid有个问题,它的Column有个属性ItemStyle.Wrap,设计是当这个列的ItemStyle.Wrap属性为true时,单元格允许回行,为false不允许回行,可是当设置了为false时输出到客户端的是这样的: <td nowrap=”nowrap”>  而不是 <td nowrap=”true”> 所以ItemStyle.Wrap属性是没有起作用的,请自己手工在DataGrid1_ItemDataBound事件中将不允许回行的那些单元增加个Attribute: nowrap=true。 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { e.Item.Cells[n].Attributes.Add("nowrap"," true ") ; }   三.     截断英文单词强行回行 上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。 可以利用css中的word-break 风格来达到我们的目的:   <TABLE id="Table1" style="TABLE-LAYOUT:fixed;word-break:break-all" border="1"> 或在脚本中: this.style. wordBreak = break-all   HTML { word-break : sBreak } Scripting object.style.wordBreak [ = sBreak ] 可能的值: sBreak String设置或获取一个下面的值: normal 缺省值. 允许从每个词处回行。 break-all 不管在什么位置,超过列宽时就回行。 keep-all 不允许 Chinese, Japanese, 和 Korean 回行。这个功能类似与“normal” 的非亚洲语言版本。


阅读全文(7996) | 回复(2) | 编辑 | 精华
 


回复:table的宽度,单元格内换行问题
文章收藏,  网上资源

木易(游客)发表评论于2007/6/21 17:34:30

Good!


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:table的宽度,单元格内换行问题
文章收藏,  网上资源

tone发表评论于2007/3/10 17:52:22

http://blog.sina.com.cn/u/465c74e9010004vs TABLE自动换行: 数字和英文的时候,TABLE中的TD就会被拉长,不会自动换行了。全角的时候是可以的。 解决方法是 添加<td style="word-break:break-all">   用表格做网页排版的时候,一般都能正常使用。偏偏有时会碰到一段连续的英文词或者一堆感叹号(!!!)把网页就撑开的现象:(总结了一下,只要在CSS中定义了如下句子,可保网页不会再被撑开了。 table{table-layout: fixed;}td(word-break: break-all; word-wrap:break-word;)注释一下:1.第一条table{table-layout: fixed;},此样式可以让表格中有!!!(感叹号)之类的字符时自动换行。 2.td{word-break: break-all},一般用这句这OK了,但在有些特殊情况下还是会撑开,因此需要再加上后面一句(word-wrap:break-word;)就可以解决。此样式可以让表格中的一些连续的英文单词自动换行。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144775205 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号