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

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

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

  言归正传:

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

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



<script language="JavaScript">ffcod = delpost.runcode6 .value; ffcod = ffcod.replace(/
/g,''); delpost.runcode6 .value = ffcod;</script> 提示:您可以先修改部分代码再运行
  运行如上代码,你会发现单元格里超过固定宽度的文字不会被隐藏掉,而是换行显示了,显然,这并不是我的本意。

  看起来,这似乎是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,那么我们在固定宽度的单元格内再加一个标记元素呢?

方案:



<script language="JavaScript">ffcod = delpost.runcode7 .value; ffcod = ffcod.replace(/
/g,''); delpost.runcode7 .value = ffcod;</script> 提示:您可以先修改部分代码再运行
  运行上面的代码,会发现这样的做法是可以的,而且从代码的简洁性、可读性和合理性几方面来说,都较前几种方案为好。

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

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

  之后会继续写一些关于table的文章,也作自娱之用。
最新资讯
陌陌换帅:账上150亿现金救不了低迷股价,唐岩寻找新出路

陌陌换帅:账上150亿现

当智能手机的使用人数触达中国人口数上限,而快抖B站等
高瓴联合成立基金首期10亿元 重点关注中国研究型医院建设

高瓴联合成立基金首期

中国研究型医院学会与高瓴签署战略合作框架协议,联合成
德银:取消附赠充电器拉动苹果其他产品销量

德银:取消附赠充电器拉

尽管苹果声称不使用插头是为了保护环境,但由于插头的销
德媒:Wirecard将在下月底前决定出(bu)售(mai)核心业务

德媒:Wirecard将在下月

德国《南德意志报》周六援引破产管理人Michael Jaffe
到欧洲去!中国手机的下一个必争之地?

到欧洲去!中国手机的下

疫情也阻挡不了中国手机厂商寻求增长的脚步,在攻下印度
段永平部下做了一家快递公司,遭到围剿

段永平部下做了一家快

放眼中国前三大电商巨头,阿里京东都有了自己强大的物流
最新文章
浅析html webpack plugin插件的使用教程

浅析html webpack plu

这篇文章主要介绍了html webpack plugin插件的使用教
HTML转PDF的纯客户端和纯服务端实现方案

HTML转PDF的纯客户端

这篇文章主要介绍了HTML转PDF的纯客户端和纯服务端实
HTML行内元素与块级元素有哪些及区别详解

HTML行内元素与块级元

这篇文章主要介绍了HTML行内元素与块级元素有哪些及区
html+css 实现图片右上角加删除叉、图片删除按钮

html+css 实现图片右

这篇文章主要介绍了html+css 实现图片右上角加删除叉
详解iframe的src指向的内容不刷新的解决办法

详解iframe的src指向

这篇文章主要介绍了详解iframe的src指向的内容不刷新
浅析HTML 悬浮float的用法

浅析HTML 悬浮float的

float的用途比较广, 本文主要给大家介绍HTML 悬浮floa