冻结html表中的顶部标题行

时间:2013-01-08 20:59:17

标签: html css html5 css3 css-tables

如何修改CSS编码,以便第一行(顶部标题)被冻结?

代码必须符合IE7标准。

table.dataTable {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #999;
    border-left: 1px solid #999;
    color: #235A81;
    font-family: Arial;
    font-size: 9pt;
}
table.dataTable th {
    margin: 0;
    border-right: 1px solid #999;
    border-top: 1px solid #999;
    font-weight: normal;
    padding: 4px 3px 3px 4px;
    background: #ccc;
    font-weight: bold;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#cdcdcd");
    text-align: left;
    width: 150px;
}

table.dataTable td {
    margin: 0;
    border-right: 1px solid #999;
    border-top: 1px solid #999; 
    padding: 2px 3px 3px 4px
}


div.scrollTableContainer {
    height: 285px;  
    overflow: auto;
    width: 900px;
    margin: 15px 0 0 0;
    position: relative;
}


div.scrollTableContainer table {
    width: 952px;
}

div.scrollTableContainer td:last-child {padding-right: 20px;}

div.scrollTableContainer tr:first-child td { border-top: 0; }

div.scrollTableContainer thead th {border-bottom: 1px solid #999; }

这是一个工作小提琴:http://jsfiddle.net/Uamhc/

2 个答案:

答案 0 :(得分:1)

就像@keeg说你需要创建两个表一样。但是,如果您无法控制网站内容,则可以使用

$('.flexme').flexigrid();

导航至 this 链接的“示例1”,以查看如何使用它的示例。 :)

答案 1 :(得分:0)

您需要绘制两个表,一个包含内容,一个只是标题,将标题表放在div中并设置div css属性:display:fixed