`
yelr_j
  • 浏览: 68180 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

基于IE与css的表格行头与多层列头锁定方法(转)

阅读更多

有许多的锁定或固定html表格表头的方法和技术,本文介绍的是一个基于IE和css的简易实现方法,基本思路为:使用div行级元素确定一个包含表格的区域,在区域滚动移动时定位非固定单元格的位置(top/left)。

1、确定表格区域

定义一个有边框的div元素,并设置其overfloaw属性为scroll,保证该区域恒有一个垂直与水平滚动条。

内容来自www.serverjia.cn电脑知识网

 

div#DivContainer { overflow: scroll; border: solid 1px gray; }

在div中嵌入一个表格,设置collapse属性为collapse,满足单边框(合并边框)的外观。 内容来自www.serverjia.cn电脑硬件知识网


table { border-collapse: collapse; }

2、单元格锁定选择器类

需要设计三种类型的锁定单元格:垂直方向锁定单元格(VLocked)、水平方向锁定单元格(HLocked)及双向锁定单元格(Locked),而一般表格内容单元格则设置其位置属性position为relative,见如下css代码:

 

 


td 

{ 内容来自www.serverjia.cn电脑知识网

position: relative; padding: 5px; border-top: solid 0px gray; border-bottom: solid 1px gray; border-left: solid 0px gray; border-right: solid 1px gray; 内容来自www.serverjia.cn电脑知识网

}

 

锁定表格行头时,要求行头的单元格水平方不移动,即区域移动时重定位这些行头单元格的left边界值,见如下css代码:

td.HLocked /* 水平方向锁住单元格 */ 内容来自www.serverjia.cn电脑硬件知识网

z-index: 10; position: relative; left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); background-color: #cccccc; text-align: center; border-top: solid 0px gray; border-bottom: solid 1px gray; border-left: solid 0px gray; border-right: solid 1px gray;

 

内容来自www.serverjia.cn电脑硬件知识网

需要指出,表格td元素的parentNode元素是tr,tr.parentNode元素是tbody,tbody.parentNode元素是table,所以td.parentNode.parentNode.parentNode.parentNode是定制的div元素,即当前表格区域。

 

锁定表格列头时,需要考虑两种情况单元格。一种是不锁定行头的单元格,此时只需要垂直方向不移动即可,见如下css代码: 内容来自www.serverjia.cn电脑硬件知识网

td.VLocked

{

z-index: 20; position: relative; top: expression(parentNode.parentNode.parentNode.parentNode.scrollTop); font-size: 10pt; color: black; background-color: #cccccc; text-align: center; border-top: solid 0px gray; border-bottom: solid 1px gray; border-left: solid 0px gray; border-right: solid 1px gray; 内容来自www.serverjia.cn电脑硬件知识网

}

 

另一种是锁定行头单元格时,这些是行头又是列头的单元格必须双向锁定,见如下css代码:

 

 

td.Locked

 

z-index: 30; position: relative; top: expression(parentNode.parentNode.parentNode.parentNode.scrollTop); left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); font-size: 10pt; color: black; background-color: #cccccc; text-align: center; border-top: solid 0px gray; border-bottom: solid 1px gray; border-left: solid 0px gray; border-right: solid 1px gray; 内容来自www.serverjia.cn电脑硬件知识网

}

 

 

还有两点需要说明:

 

  1. 使用了z-index坐标,并且是Locked类选择器的z-index值最大,即最靠近浏览者;
  2. 在aspx中使用时,需要删除Visual Studio自动产生的行。

 

下面是完整的css代码和htm演示代码,测试时需要建立一个IIS虚拟路径,拷贝css文件和htm文件到该虚拟路径中,然后通过浏览器浏览htm文件:

  1. div#DivContainer
  2. {
  3. overflow:scroll;border:solid1pxgray;
  4. }
  5. table
  6. {
  7. border-collapse:collapse;
  8. }
  9. td
  10. {
  11. position:relative;padding:5px;
  12. border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
  13. }
  14. td.Locked/*水平与垂直方向锁住单元格,不随鼠标或滚动条移动*/
  15. {
  16. z-index:30;position:relative;
  17. top:expression(parentNode.parentNode.parentNode.parentNode.scrollTop);
  18. left:expression(parentNode.parentNode.parentNode.parentNode.scrollLeft);
  19. background-color:#cccccc;text-align:center;
  20. border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
  21. }
  22. td.HLocked/*水平方向锁住单元格*/
  23. {
  24. z-index:10;position:relative;left:expression(parentNode.parentNode.parentNode.parentNode.scrollLeft);
  25. background-color:#cccccc;text-align:center;
  26. border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
  27. }
  28. td.VLocked/*垂直方向锁住单元格*/
  29. {
  30. z-index:20;position:relative;top:expression(parentNode.parentNode.parentNode.parentNode.scrollTop);
  31. background-color:#cccccc;text-align:center;
  32. border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
  33. }

 

分享到:
评论

相关推荐

    html表格中,锁定行头和列头

    在html的表格中,锁定行头和列头,使用样式表,不用加载第三方控件.

    8款好看的css表格.rar

    本资源“8款好看的css表格.rar”提供了一系列由国外设计师编写的精美CSS表格示例,这些表格在视觉呈现上极具吸引力,能够为网页增加专业且现代的外观。 CSS表格的设计主要围绕以下几个方面展开: 1. **布局与结构*...

    最简单最实用的WEB表格锁定表头和固定数据列的方法示例

    最简单最实用的WEB表格锁定表头和固定数据列的方法示例,提升WEB版的ERP系统用户体验。

    jquery锁定行锁定列

    "jquery锁定行锁定列"这个主题就是关于如何在jQuery中实现表格的冻结或锁定功能,以便用户在滚动页面时,特定的行或列始终保持可见,提升数据浏览体验。 首先,我们来理解一下“冻结行”和“锁定列”的概念。冻结行...

    HTML+JS实现固定表头和锁定左列的Demo(兼容IE,火狐,谷歌等大众浏览器)

    在这个特定的Demo中,开发者使用了这两种技术来实现一个功能,即在表格中固定表头和锁定左列,以便于用户在滚动查看长表格内容时,表头始终保持可见,左侧列也保持固定。这个功能对于数据密集型的网页应用尤其有用,...

    21个新奇漂亮的AjaxCSS表格设计

    标题和描述均提到了“21个新奇漂亮的AjaxCSS表格设计”,这表明文章旨在介绍一系列结合了Ajax和CSS技术的创新表格设计方案。Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它允许网页...

    vue表格实现固定表头首列

    以上就是不依赖UI插件,仅使用Vue核心功能实现固定表头和首列的表格的方法。这个过程中,你需要理解Vue的数据绑定、组件化以及CSS布局等基础知识,并结合实际项目需求进行调整。在实际项目中,你可能还需要处理更多...

    基于C#+VS2008实现的多层列表头GridView控件扩展程序例子

    首先,多层列表头通常涉及到嵌套的表格结构,这意味着我们需要在GridView的列定义中创建多个级别。在C#代码中,可以通过重写GridView的`RowCreated`事件来动态添加这些列。这个事件会在每个GridView行被创建时触发,...

    兼容浏览器的table行列锁定

    列锁定(Column Locking)则是将左侧的关键列固定,即使表格内容向右滚动,这些列仍然可见。在实际应用中,这两种锁定方式可以同时使用,提供更好的交互效果。 实现表格行列锁定,主要通过CSS和JavaScript来完成。...

    固定gridview行头,列头.rar固定gridview行头,列头

    7. **固定行头**:固定行头的概念与固定表头类似,主要是让某一列的值在滚动时始终保持可见。这通常通过在每个分组或分类的开始添加一个额外的“标题”行并应用相同的固定技术来实现。 8. **CSS预处理器**:如果...

    ie-css3(让ie6 ie7 ue8支持css3).rar

    标题中的“ie-css3(让ie6 ie7 ue8支持css3).rar”指的是一个针对Internet Explorer(IE)浏览器的解决方案,尤其是版本6、7和8,这些版本不原生支持CSS3的新特性。这个压缩包包含了一个名为“ie-css3(让ie678支持css...

    解决ie9、ie10本地css加载不上的解决方法实例

    这两个版本的IE采用了不同的渲染引擎,与现代浏览器相比,它们对于CSS3新特性的支持并不全面。例如,盒模型、渐变、阴影、动画等高级样式可能无法正常显示。此外,IE9和IE10对CSS文件的请求可能会受到缓存策略的影响...

    CSS实现多表头悬浮

    "CSS实现多表头悬浮"就是一种技术,它允许用户在滚动浏览长表格时,表头始终保持可见,以便于用户跟踪列对应的数据。这个功能在数据报表、电子表格或者任何需要大量列信息展示的页面中尤为实用。 CSS(Cascading ...

    div+css百分比表格+DIV+CSS+JS静态分页程序+DIV+CSS像素表格

    div+css百分比表格+DIV+CSS+JS静态分页程序+DIV+CSS像素表格 百分比表格(用DIV+CSS)以百分比显示,可以根据窗口的大小自动调节所显示的大小! DIV+CSS+JS静态分页程序可兼容主流浏览器(IE、FF、Opera) DIV+CSS表格...

    CSS 固定表头和列

    总之,实现CSS固定表头和列是提高数据表格可读性和用户交互性的重要手段。通过理解CSS定位原理并结合HTML结构,我们可以创建出符合需求的自定义解决方案。对于更复杂的应用场景,利用现有的JavaScript库可以提供更多...

    漂亮的表格css+html

    在网页设计中,创建美观且功能强大的表格是至关重要的,特别是在数据展示、比较或报告方面。"漂亮的表格css+html"这个主题就是关于如何利用HTML和CSS技术来创建吸引人的表格。HTML(超文本标记语言)是网页内容的...

    js css精美表格

    "js css精美表格"的主题涉及到了JavaScript和CSS技术在创建美观、交互性强的表格方面的应用。在这个主题下,我们可以深入探讨以下几个关键知识点: 1. CSS(层叠样式表):CSS是用于控制网页元素样式的重要工具。在...

    固定表格行和列css样式控制

    固定表格行和列css样式控制,代码只做了固定一行两列,下载了根据自己的需求修改

    很好用的 表格锁定表头 和列

    实现表格锁定表头和列的技术方案多样,除了上述的纯CSS方法,还可以借助JavaScript库如jQuery插件或现代的Web组件,如Angular或React中的库。这些库提供了更丰富的功能和更好的浏览器兼容性,但可能需要更多的资源和...

Global site tag (gtag.js) - Google Analytics