网页制作 TD也可以溢出隐藏显示


或许我这篇文章一取这样的名字,就会有人要问了:你怎么还在关注table啊,那早就过时了…赶紧Xhtml…div好…ul好…ol好…dl好…完了,不知道还有什么好了。

  table真的过时了么?你真的了解table么?你真的会用table么?

  打口水仗不是我们要做的,留给那些时间很充裕的人吧。

  言归正传:

  不记得是什么时候,有人在用table模拟DataGrid的时候说,为什么td超出设置为固定宽度的文字不能隐藏,而是会直接换行呢?

  是的,事实确实如此,如:



提示:您可以先修改部分代码再运行

  运行如上代码,你会发现单元格里超过固定宽度的文字不会被隐藏掉,而是换行显示了,显然,这并不是我的本意。

  看起来,这似乎是table的一个特性,它不能很好的支持{width:*px;white-space:nowrap;overflow:hidden;}的组合,说到底就是white-space:nowrap这个东东没起作用,所以看起来overflow:hidden就失效了。{注:如果是一连串的无意义字符则可生效,例如:<td class="col1">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td>,这个时候就不需要{white-space:nowrap}来强制它在一行内显示,因为这一连串的a会被认定为是一个字而不发生换行,从而超出.col1宽度的a会被隐藏}

  [解决方案一:]

  后来有人提到使用百分比宽度就可以了,经测试,确实可以,稍微将第一段的其中几行样式修改一下,其它的不变:

.col1 {width:20%;}
.col2 {width:40%;}
.col3 {width:40%;}

  将修改后的代码运行后,会发现,超出宽度的文字果然被隐藏了,想要的效果似乎得到了。

  事实上使用百分比宽度确实可以解决这个文字隐藏的问题,但这似乎并不是想要的最佳的解决方案,因为有的时候我们需要的是一个固定的宽度,而不是百分比宽度。

  而这一切的根源就在于如何使得单元格内的文字不换行在一行内显示。

  [解决方案二:]

  要达到这个要求,除了使用样式,我们也许还会想到一个许久不用了的标签<nobr>,这个元素的作用就是强制内容在一行显示。以上代码做如下修改,其它则不变:

<table border="1" cellspacing="0" summary="回头来看看Table:TD也玩overflow:hidden">
<tr>
<td class="col1"><nobr>神舟 优雅Q400N</nobr></td>
<td class="col2"><nobr>优雅Q400N,采用Intel Core2 Duo(Merom) T5450(1.66G)处理器</nobr></td>
<td class="col3"><nobr>迅驰4平台,突出的性价比,漂亮的外观</nobr></td>
</tr>
</table>

  做了这个修改,会发现,效果确实达到,是不是该兴奋呢?不,这似乎还不是最佳的解决方案,因为毕竟使用了一个许久不用且不推荐使用的元素标记,这多少让人觉得有点不爽。

  沿着这个思路,我换了一个角度来考虑这个问题,发现问题迎刃而解。

  既然在固定宽度的单元格内无法只简单的给th,td加上white-space:nowrap,那么我们在固定宽度的单元格内再加一个标记元素呢?

最佳方案:



提示:您可以先修改部分代码再运行

  运行上面的代码,会发现这样的做法是可以的,而且从代码的简洁性、可读性和合理性几方面来说,都较前几种方案为好。

  {还没有做过给单元格隐藏超过固定宽度内容的同学,可先在机器上玩玩,然后再来看本文}

  其实table是一个有趣,可玩性很高东东。我们不应该带着有色眼睛去看它,因为它有它存在的道理。

  之后会继续写一些关于table的文章,也作自娱之用。



相关阅读:
CSS中的选择符
关于Ajax技术的注意事项
Access数据库的安全方式
取消网页各种禁止功能的解决方案
javascript window.opener的用法分析
关闭IDE通道检测的批处理
jQuery 源码分析笔记(4) Ready函数
javascript 三种数组复制方法的性能对比
让白领爱上Windows7的七个理由
在SQL中使用convert函数进行日期的查询
php设计模式介绍之值对象模式
基于C# 网站地图制作
dede文章列表页调用TAG标签
CSS框架的利与弊(下)
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 身边的爱和温暖 珍视那些欣赏我们的人 家具厂厂长个人年终工作总结 爱媚小扎 一个男人对感情的独白 小学四年级作文350字:默默 兵马俑的作文600字 宝 , 我真的好希望咱俩能一不小心白头偕老【20120212】 赠道者 银行毕业实习报告 为什么不发给我 爱你爱得如此狼狈?我换来的是什么 我做了一个美梦——庾靖雯 计算机信息管理数据库方向专业的求职信范文 2015市政府办公室主任供职报告-述职报告 云中锦书,不诉离殇 乡镇政府教育工作计划 朝鲜菜 生命之书作文500字 看见恶魔 营销策划书的通用格式 细水长流作文400字 今天,我想要说说心里话 【灵魂咏叹】对不起自己!我又让你哭了。 项目部党工委书记先进事迹材料 儿童诗歌:童年 作文 艾尔和肖恩勇闯赛尔号第七集 人生路上,过客匆匆 小学生日记格式范文 聘请代课教师协议书 《蜗居》经典台词语录大全 人越长大,记得住的就越少…… 李家铺乡召开全乡干部作风动员大会 作文 我给老师画张像 《跨岁旅程》作者:风文【水心诗社】诗歌欣赏 伦敦之旅 母亲,我明白了作文600字 雷殿生:十年徒步走遍全国的独行侠 辞职报告格式怎么写 肉麻的情人节祝福短信 有趣的课间操 刘禹锡《淮阴行五首·其四》 我心里的那双手作文300字 马年春节公司年会主持范本 不不园 医院护理“服务明星”竞赛评比实施细则 冬日温情作文500字 有一种深刻 2016年马年拜年短信 无法忘记的童年

Copyright © 2016 phpStudy |