本文转载自:http://www.cnblogs.com/evlon/archive/2009/06/12/1502239.html

我的技术要点:

  1、用两个表,其中一个是表头,另一个是表格做表体
  2、两个表格使用相同的百分比宽度
  3、在IE下,如果列溢出,则采用 ... 来表示溢出,FF下自动隐藏
  4、采用JQuery,把表头的列宽,设置到表体第一列。
  5、在窗体大小改变时,自动设置表头的容器宽度为表体的宽度。

不复杂,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<style type="text/css">
.oddtr
{
background-color:#efefef;
} .fixheader_table table
{
border-collapse:collapse;
width:100%;
border-width:0px;
}
.fixheader_table table td
{
border-collapse:collapse;
width:100%;
border:solid 1px #ccf;
} .fixheader_table > .header
{
}
.fixheader_table > div.body
{
overflow:auto;height:200px; /* IE下这样设置不管用,没有办法,我只好设置到 style中了 */
border:solid 1px red;
} .ellipsis table{
table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下面td的定义才能起作用。 */
}
.ellipsis table tr{
height:25px;
line-height:25px;
} .ellipsis table td{
word-break:keep-all;/* 不换行 */
white-space:nowrap;/* 不换行 */
overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记() ;需与overflow:hidden;一起使用。*/
}
</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function()
{
var headerCells = $('.fixheader_table .header table tr:first td');
$('.fixheader_table .body table tr:first td').each(function(i,n)
{
$(this).css('width',headerCells.eq(i).css('width'));
});
//关联宽度
$(window).resize(function () {
$('.fixheader_table .header').width($('.fixheader_table > .body table').width());
}).triggerHandler('resize'); });
</script> </head> <body>
<div class="fixheader_table">
<div class="header ellipsis">
<table>
<tr>
<td style="width:40%">标题</td>
<td style="width:30%">姓名</td>
<td style="width:30%">时间</td>
</tr>
</table>
</div>
<div class="ellipsis body" style="overflow:auto;height:200px;">
<table>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
<tr>
<td>中国人民大团结万岁</td>
<td>张三</td>
<td>2009-3-6</td>
</tr>
</table>
</div> </div> </body>
</html>

(转)用JQuery实现Fix表头表格的更多相关文章

  1. 转:jQuery LigerUI 使用教程表格篇(3) 复选框、多表头、分组、汇总和明细

    阅读目录 复选框 多表头 分组 汇总 明细 复选框 grid可以设置复选框模式进行多选,只需要简单的配置 checked:true 获取选中行 如果要获取选中的行,可以用getSelecteds方法: ...

  2. jQuery——能够编辑的表格

    版权声明:欢迎转载,请注明出处 https://blog.csdn.net/suneqing/article/details/26856635     今天学习了利用jQuery实现能够编辑的表格这个 ...

  3. FineUI小技巧(7)多表头表格导出

    前言 之前我们曾写过一篇文章 FineUI小技巧(3)表格导出与文件下载,对于在 FineUI 中导出表格数据进行了详细描述.今天我们要更进一步,介绍下如何导出多表头表格. 多表头表格的标签定义 在 ...

  4. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  5. HTML多表头表格

    1.多表头表格代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  6. JS实现点击表头表格自动排序(含数字、字符串、日期)

    这篇文章主要介绍了利用JS如何实现点击表头后表格自动排序,其中包含数字排序.字符串排序以及日期格式的排序,文中给出了完整的示例代码,并做了注释,相信大家都能看懂,感兴趣的朋友们一起来看看吧. < ...

  7. jQuery 对表单、表格的操作及更多应用-简略笔记

    [jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...

  8. [转]jQuery实现清空table表格除首行外的所有数据

    1.其实网上有很多版本,试了好几个都不行,最后还是查到了一个非常方便的:不会清除表格第一行表头部分. 其中J_tab_fam是table的id. 1 $("#J_tab_fam  tr:no ...

  9. 第5章 jQuery对表单、表格的操作及更多应用

    本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...

随机推荐

  1. js千分位的函数

    不错的js千分位函数,适用于将金额每3位用“,”分隔 /*for price using thousands separator */ function fprice(s,n){ s = parseF ...

  2. Debian 入门安装与配置2

    Debian 入门安装与配置2 1. C/C++开发必装软件 atp-get install gcc    这个不用说,用来编译C程序 apt-get install g++ 用来编译C++程序 ap ...

  3. Core Java Volume I — 3.1. A Simple Java Program

    Let’s look more closely at one of the simplest Java programs you can have—one that simply prints a m ...

  4. 某种数列问题 (jx.cpp/c/pas) 1000MS 256MB

    众所周知,chenzeyu97有无数的妹子(阿掉!>_<),而且他还有很多恶趣味的问题,继上次纠结于一排妹子的排法以后,今天他有非(chi)常(bao)认(cheng)真(zhe)去研究一 ...

  5. HDU-5785 Interesting(Manacher算法+区间处理)

    题目大意:给一个字符串,求所有相邻两回文子串的外侧下标之积的和 题目分析:另L[i]为所有以 i 为右端点的回文字串的左端点之和,同理,另R[i]表示所有以 i 为左端点的回文子串的右端点之和.显然, ...

  6. 【P1835】小红花

    很简单的题,然而我没想到,在NOIP上怎么办嘛QAQ 话说这题不知道怎么分类啊……先扔到玄学里边把…… 原题: Fj在圣诞节来临之际,决定给他的奶牛发一些小红花.现在Fj一共有N头奶牛,这N头牛按照编 ...

  7. HashMap和HashSet的区别

    理解HashSet及使用 HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题 ...

  8. flash全屏输入模式

    params.allowscriptaccess = "sameDomain"; params.allowfullscreen = "true"; params ...

  9. 简单播放系统提示音 android

    //Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); //alert = RingtoneManager.g ...

  10. asm单机dg dbca报错ORA-01031 CRS-2676,rman restore主库控制文件报错ORA-15081

    dg-> ll $ORACLE_HOME/bin/oracle -r-xr-s--x 1 oracle asmadmin 210824714 Nov 20 16:41 /u01/app/orac ...