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

所属分类: 网页制作 / HTML/Xhtml 阅读数: 1797
收藏 0 赞 0 分享
或许我这篇文章一取这样的名字,就会有人要问了:你怎么还在关注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的文章,也作自娱之用。
更多精彩内容其他人还在看

XHTML三种文件类型声明

XHTML定义了三种文件类型声明。 最普遍使用的是XHTML Transitional。 <!DOCTYPE>是强制使用的。 一个XHTML文档有三个主要的部分: DOCTYPE Head Body ... 查看详情
收藏 0 赞 0 分享

通过实例掌握BR和P标签的区别

换行标记<br>的使用 换行标记<br>是一个没有结尾的标记,HTML文件中任何位置只要使用了<br>标记,当文件显示在浏览器中时,该位置之后的文字将显示于下一行,该<br>标记就是起到换行的标记! 请注意!在一般的文字文件... 查看详情
收藏 0 赞 0 分享

网页设计制作之改进超级链接效果

Hyperlinks enable people to jump instantly from page to page, or site to site. Such power can create anxiety. 超链接可以使访问者从一个页面跳转至另外一个页面,或从一个... 查看详情
收藏 0 赞 0 分享

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

在我们设计网页的时候,总会遇到一些不愉快的事情,最常见的莫过于在后台添加内容后才发现显示的页面被撑开,导致网页极度不美观。以前大家基本上都是设计表格,网上自然不少对于的解决方法,如今还有div css标准设计,很少看到相关好的方法,现在潇湘在线把平时找到的防止表格被撑开的好方法总... 查看详情
收藏 0 赞 0 分享

超链接图标规范:提升文章的可阅读性

1、什么是超链接图标规范超链接图标规范是根据《Iconize Textlinks with CSS》修改调整完成的。主要是整理出常用到的一些icon,整合成一张图片,减少图片的服务器请求次数。通过这套css framework,给链接文件的类型加上icon标识。提升文章的可阅读性... 查看详情
收藏 0 赞 0 分享

网页设计之网页音乐的实现技巧

当网页中插入音乐时,要根据不同的后缀名,来写不同的代码!下面面就是多种格式文件的详细使用代码。 注: "音乐文件和地址"——待播放文件的文件名,前面带上绝对路径,或者本站的相对路径。  width_num—&m... 查看详情
收藏 0 赞 0 分享

XHTML常用标签介绍

一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用问题做一个总结,也算能使得大家能在沟通,合作上能形成默契。 XHTML里有很多的标签,但是经常用到的也就是那么几个,也只要掌握这几个也... 查看详情
收藏 0 赞 0 分享

HTML网页图片标记

插入图片标记<IMG> 今天看到的丰富多彩的网页,都是因为有了图像的作用。想一想过去,网络中全部都是纯文本的网页,非常枯燥,就知道图像在网页设计中的重要性了。在html页面中可以插入图像,网页常用的图像格式有JPEG和GIF两种: JPEG(Joint Pho... 查看详情
收藏 0 赞 0 分享

网页表单设计实例技巧五则

1、表单文本输入的移动选择:在文本输入栏中,如果加入了提示,来访者往往要用鼠标选取后删除,再输入有用的信息。其实只要加入onMouseOver="this.focus()" onFocus="this.select()" 代码到 <t... 查看详情
收藏 0 赞 0 分享

HTML网页列表标记学习教程

HTML网页列表标记学习教程. 在html页面中,列表可以起到提纲写领的作用。列表分为两种类型,一是有序列表,一是无序列表。前者用项目符号来标记无序的项目,而后者则使用编号来记录项目的顺序。 所谓有序,指的是按照数字或字母等顺序排列列表项目。 ... 查看详情
收藏 0 赞 0 分享
查看更多