一种使用CSS固定表头和列的方法

固定表头的CSS:
thead th, thead th.locked {
font-size: 14px;
font-weight: bold;
text-align: center;
background-color: navy;
color: white;
border-right: 1px solid silver;
position:relative;
cursor: default;
}
 
thead th {
top: expression(document.getElementById("tbl-container").scrollTop-2); /* IE5+ only */
z-index: 20;
}
固定列的CSS:

td.locked,  th.locked{
background-color: #ffeaff;
font-weight: bold;
border-right: 1px solid silver;
left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); /* IE5+ only */
position: relative;
z-index: 10;
}
要注意的是td.locked的z-index比th.locked的低.

界面上的JS函数用于切换是否固定第一列.
var table = document.getElementById(tblID);
 var cTR = table.getElementsByTagName("TR");  //取得所有TR行对象
 
 //未locked
 if (table.rows[0].cells[0].className == '') {
  for (i = 0; i < cTR.length; i++)
   {
   var tr = cTR.item(i);
   tr.cells[0].className = 'locked' //每行的第一列被locked,其实可以设置任意行为locked
   }
  document.getElementById('toggle').innerText = "Unlock First Column";
  }
  else {
  for (i = 0; i < cTR.length; i++)
   {
   var tr = cTR.item(i);
   tr.cells[0].className = ''  // 取消locked.
   }
  document.getElementById('toggle').innerText = "Lock First Column";
  }

示例下载:/Files/margiex/test.rar


参考引文:
http://web.tampabay.rr.com/bmerkey/examples/locked-column-csv.html
http://web.tampabay.rr.com/bmerkey/examples/locked-column.css.html

另还有一个示例可以拖动每列:
http://web.tampabay.rr.com/bmerkey/examples/move-lock-col.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>