用CSS制作表头固定的表格

css

网页制作中,通常用表格来以行和列的方式来组织数据。可能在使用中会遇到这种情况,我们所要列出的数据很多很长。这时候,浏览起来就很不方便,察看后面数据的时候不得不经常滚动到页面的上方来看看对应的表头。

要解决这个问题,通常我们会想到使用框架或者内置框架(iframe)的方式,将表头内容放在上方的框架页面中,表格内容放在下面的框架中,这样浏览起来就比较方便了。可是,使用框架并不是很好的选择。

这里介绍一个更好的方法,使用简单的CSS就能够实现表头固定的表格(在IE和Firefox、Mozilla下通过)。

这个方法是通过在一个两行一列的表格中,上面一行放置作为表头的表格,下面一行放置一个滚动的Div块,块里面内置有包含数据内容的表格。具体做法如下:

首先,我们制作一个表格,只包含两行一列:

<table summary="" cellpadding="0" cellspacing="0" align="center" title="" width="400">
<tr>
<td>行一 列一</td>
</tr>
<tr>
<td>行二 列二</td>
</tr>
</table>

此表格的结果如下:

行一 列一
行二 列二

接下来呢,我们在上面这个表格的第一行的单元格内嵌入作为表头的表格,如下:

<table summary="" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td colspan="5" align="center">商场本月销售统计表</td>
</tr>
<tr>
<td width="24%">商品名</td>
<td width="24%">上旬</td>
<td width="24%">中旬</td>
<td width="24%">下旬</td>
<td width="4%">  </td>
</tr>
</table>

我们看到的结果如下:

商场本月销售统计表
商品名 上旬 中旬 下旬  
行二 列二

作为表头的表格的最后一个单元格,内容为空。留空的原因,是因为将来在下面的数据内容中,会出现滚动条,它也是占据一定的大小的,为了上下对齐,这里就考虑留空了。

下面,我们在下一行,也就是“行二 列二”所在的单元格中,加入一块(DIV),此块内包含了一个以表格排列的数据。注意这里块(DIV)的CSS设置:overflow:auto。它是说在内容超出块的情况下,自动显示滚动条。另外,这里的单元格填充大小可以自行设定,如果为“0”,你可能会发现上下没有对齐,此时你可以适当加大单元格填充。话代码如下:

<div style="height:150px; overflow: auto;">
<table summary="" cellpadding="12" cellspacing="0" width="96%">
<tr>
<td width="25%">洗洁精</td>
<td width="25%">2321</td>
<td width="25%">4521</td>
<td width="25%">1203</td>
</tr>
<tr>
<td width="25%">高录洁</td>
<td width="25%">1652</td>
<td width="25%">2541</td>
<td width="25%">3652</td>
</tr>
.
.
.
</table>
<div>

之后呢,把它嵌入到最外面那个表格的第二行的单元格内,结果如下:

 

商场本月销售统计表
商品名 上旬 中旬 下旬  
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652

接下来,把这个表格美化一下,就可以看到下面这个不错的表头固定、数据可滚动的特殊表格了:

 

商场本月销售统计表
商品名 上旬 中旬 下旬  
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652
洗洁精 2321 4521 1203
高录洁 1652 2541 3652

这个例子的关键在于表格中内嵌了属性为overflow:auto的DIV。熟悉CSS的都应该知道,overflow还可以设置为scroll的值,也就是overflow:scroll,它的作用是让DIV在需要的时候,垂直方向和水平方向都加上滚动条。

利用这个特点,我们同样可以制作左边固定,而右边滚动的数据表格出来。

时间: 2024-12-02 23:47:06

用CSS制作表头固定的表格的相关文章

js-怎么实现表格的表头固定 ,表格不要滚动条

问题描述 怎么实现表格的表头固定 ,表格不要滚动条 表格显示10行 或更多的数据 ,下拉页面的时候看不见表头 ,怎么能让表头像固定到底部的导航一样 ,随着页面的下拉移动. 解决方案 CSS表格固定表头示例CSS固定表格table表头页头 解决方案二: 你把你的代码发进来我们好给你修改啊 解决方案三: 使用固定定位吧,如果固定定位满足不了你的要求,就用js控制吧 解决方案四: 可以考虑使用div做表头,好操作定位!当然也可以考虑使用双表格对接,一表格做表头+二表格做表身放数据,这样表头也可以控制定

html css将表头固定的最直接的方法

 position属性取值为fixed时,则元素的位置将不受滚动条的影响,而是直接依据窗口定位,这就是将表头固定的最直接方法,网上其他途径感觉都是在走弯路.但是与此同时必须解决两个问题.第一:表体将随之不依据表头定位,而是依据body元素定位,因此表体将上移,导致表体靠上部分被表头遮挡,而且有重影.第二:表体的宽高和表头的宽高也将互相独立不再受文档流的约束,这导致单元格对不齐.  解决办法示例如下.其中,单元格上下对齐的问题可以通过设置padding margin 百分比width来解决,表头和

使用DIV+CSS制作网页后,表格Table还有用吗?

css|网页 符合网页标准的网页是DIV+CSS制作的,那么我们以前使用的表格Table还有用吗?是不是要彻底放弃呢? 关于DIV和TABLE表格的使用疑问有不少人很是疑惑,整理一下思路! 关于表格 使用WEB标准之后,并不是说排除表格的使用,表格并不是鸡肋,而正好相反是一道大餐,之所以在很多关于CSS布局的文章中常提到"为什么使用表格排版是不明智的"这句话,可能是大家对他的理解有误,这里注意一点"使用表格排版"是"不明智"的.指的是我们使用了很

用CSS制作具有亲和力的表格

css 翻译自:A CSS styled table 原文:http://veerle.duoh.com/comments.php?id=315_0_2_0_C 版权归原作者所有这个翻译的页面版权所有,授权蓝色理想.转载请注明出处 在前一段时间制作了CSS calendar,然后我就想用css制作一个table的模型,该模型遵循亲和力规则,而且有良好的视觉效果. 图:颜色的选择和搭配 这样做的好处是: 利用表格来装载数据,不言而喻是最好的,你可以很灵活的为每个单元格定义样式.下面是具体的做法 首

CSS实例教程:CSS制作好看的网页表格

如果数据表格对于视力没有问题用户都难以阅读的话,那么想像一个那些用辅助技术(掌上设备)的人来说,它们是多么复杂和混乱.幸运的是html规范提供了许多无素和属性来提高数据表格对于这些设备的可访问性. 1.summary 和 caption 第一元素是表格的caption,它基本上用做表格的标题.尽管这不是必须有的元素,但是尽可以使用caption总是好的.另一个元素是summary.summary属性可以应用于表格标签,用来描述表格的内容.与image的alt文本属性相似. 2.thead, tb

实例讲解:CSS制作鼠标经过改变表格背景属性

css|鼠标 这份教程将教会你下面的技巧:当鼠标移至表格(单元格)上方时,改变表格的背景颜色. 首先,在你的页面上创建一个菜单:然后,创建两种用于鉴别的颜色体:一个是表格的初始颜色,另一个是鼠标移至表格上方时所产生的背景颜色.在我这个案例中,我所默认使用的背景效果颜色(鼠标以上去时)是:#999999,初始颜色是:#CCCCCC. 现在,将下面这段代码复制到文档头部.(位于<HEAD></HEAD>标签之间)<style type="text/css"&g

html-求大神解答,关于多行表头固定问题

问题描述 求大神解答,关于多行表头固定问题 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> CSS控制表格表头固定 div.tableContainer table td{font-siz

解决方案-table表头固定,列错位

问题描述 table表头固定,列错位 我有个table的后台动态生成的,想用js+css 实现表头固定,内容滚动的效果. 我在网上找了好多jquery 插件,基本都是转成两个table,第二个table是用一个div滚动,问题是表头列和内容列错位了,哪位大神有好的解决方案. 解决方案 我曾经也遇到过,你把这两个的宽设置成一样赛 解决方案二: 肯定是表格和表头的列宽不同步导致 解决方案三: 我曾经也遇到过,你把这两个的宽设置成一样赛 解决方案四: 上下两个Table < td> width 设置

用CSS实现的固定表头的HTML表格

css 曾经在项目中实现过一个固定表头的HTML表格,但使用了非常臃肿的代码,因为实际上是画了三个一样的表格.偶然的机会,发现了一个纯粹用HTML和CSS实现的固定表头的表格.现将其简化代码摘录如下.原地址见: http://www.imaputz.com/cssStuff/bulletVersion.html. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en&quo