有许多的锁定或固定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电脑硬件知识网
}
还有两点需要说明:
- 使用了z-index坐标,并且是Locked类选择器的z-index值最大,即最靠近浏览者;
- 在aspx中使用时,需要删除Visual Studio自动产生的行。
下面是完整的css代码和htm演示代码,测试时需要建立一个IIS虚拟路径,拷贝css文件和htm文件到该虚拟路径中,然后通过浏览器浏览htm文件:
- div#DivContainer
- {
- overflow:scroll;border:solid1pxgray;
- }
- table
- {
- border-collapse:collapse;
- }
- td
- {
- position:relative;padding:5px;
- border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
- }
- td.Locked/*水平与垂直方向锁住单元格,不随鼠标或滚动条移动*/
- {
- z-index:30;position:relative;
- top:expression(parentNode.parentNode.parentNode.parentNode.scrollTop);
- left:expression(parentNode.parentNode.parentNode.parentNode.scrollLeft);
- background-color:#cccccc;text-align:center;
- border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
- }
- td.HLocked/*水平方向锁住单元格*/
- {
- z-index:10;position:relative;left:expression(parentNode.parentNode.parentNode.parentNode.scrollLeft);
- background-color:#cccccc;text-align:center;
- border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
- }
- td.VLocked/*垂直方向锁住单元格*/
- {
- z-index:20;position:relative;top:expression(parentNode.parentNode.parentNode.parentNode.scrollTop);
- background-color:#cccccc;text-align:center;
- border-top:solid0pxgray;border-bottom:solid1pxgray;border-left:solid0pxgray;border-right:solid1pxgray;
- }
分享到:
相关推荐
在html的表格中,锁定行头和列头,使用样式表,不用加载第三方控件.
本资源“8款好看的css表格.rar”提供了一系列由国外设计师编写的精美CSS表格示例,这些表格在视觉呈现上极具吸引力,能够为网页增加专业且现代的外观。 CSS表格的设计主要围绕以下几个方面展开: 1. **布局与结构*...
最简单最实用的WEB表格锁定表头和固定数据列的方法示例,提升WEB版的ERP系统用户体验。
"jquery锁定行锁定列"这个主题就是关于如何在jQuery中实现表格的冻结或锁定功能,以便用户在滚动页面时,特定的行或列始终保持可见,提升数据浏览体验。 首先,我们来理解一下“冻结行”和“锁定列”的概念。冻结行...
在这个特定的Demo中,开发者使用了这两种技术来实现一个功能,即在表格中固定表头和锁定左列,以便于用户在滚动查看长表格内容时,表头始终保持可见,左侧列也保持固定。这个功能对于数据密集型的网页应用尤其有用,...
标题和描述均提到了“21个新奇漂亮的AjaxCSS表格设计”,这表明文章旨在介绍一系列结合了Ajax和CSS技术的创新表格设计方案。Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它允许网页...
以上就是不依赖UI插件,仅使用Vue核心功能实现固定表头和首列的表格的方法。这个过程中,你需要理解Vue的数据绑定、组件化以及CSS布局等基础知识,并结合实际项目需求进行调整。在实际项目中,你可能还需要处理更多...
首先,多层列表头通常涉及到嵌套的表格结构,这意味着我们需要在GridView的列定义中创建多个级别。在C#代码中,可以通过重写GridView的`RowCreated`事件来动态添加这些列。这个事件会在每个GridView行被创建时触发,...
列锁定(Column Locking)则是将左侧的关键列固定,即使表格内容向右滚动,这些列仍然可见。在实际应用中,这两种锁定方式可以同时使用,提供更好的交互效果。 实现表格行列锁定,主要通过CSS和JavaScript来完成。...
7. **固定行头**:固定行头的概念与固定表头类似,主要是让某一列的值在滚动时始终保持可见。这通常通过在每个分组或分类的开始添加一个额外的“标题”行并应用相同的固定技术来实现。 8. **CSS预处理器**:如果...
标题中的“ie-css3(让ie6 ie7 ue8支持css3).rar”指的是一个针对Internet Explorer(IE)浏览器的解决方案,尤其是版本6、7和8,这些版本不原生支持CSS3的新特性。这个压缩包包含了一个名为“ie-css3(让ie678支持css...
这两个版本的IE采用了不同的渲染引擎,与现代浏览器相比,它们对于CSS3新特性的支持并不全面。例如,盒模型、渐变、阴影、动画等高级样式可能无法正常显示。此外,IE9和IE10对CSS文件的请求可能会受到缓存策略的影响...
"CSS实现多表头悬浮"就是一种技术,它允许用户在滚动浏览长表格时,表头始终保持可见,以便于用户跟踪列对应的数据。这个功能在数据报表、电子表格或者任何需要大量列信息展示的页面中尤为实用。 CSS(Cascading ...
div+css百分比表格+DIV+CSS+JS静态分页程序+DIV+CSS像素表格 百分比表格(用DIV+CSS)以百分比显示,可以根据窗口的大小自动调节所显示的大小! DIV+CSS+JS静态分页程序可兼容主流浏览器(IE、FF、Opera) DIV+CSS表格...
总之,实现CSS固定表头和列是提高数据表格可读性和用户交互性的重要手段。通过理解CSS定位原理并结合HTML结构,我们可以创建出符合需求的自定义解决方案。对于更复杂的应用场景,利用现有的JavaScript库可以提供更多...
在网页设计中,创建美观且功能强大的表格是至关重要的,特别是在数据展示、比较或报告方面。"漂亮的表格css+html"这个主题就是关于如何利用HTML和CSS技术来创建吸引人的表格。HTML(超文本标记语言)是网页内容的...
"js css精美表格"的主题涉及到了JavaScript和CSS技术在创建美观、交互性强的表格方面的应用。在这个主题下,我们可以深入探讨以下几个关键知识点: 1. CSS(层叠样式表):CSS是用于控制网页元素样式的重要工具。在...
固定表格行和列css样式控制,代码只做了固定一行两列,下载了根据自己的需求修改
实现表格锁定表头和列的技术方案多样,除了上述的纯CSS方法,还可以借助JavaScript库如jQuery插件或现代的Web组件,如Angular或React中的库。这些库提供了更丰富的功能和更好的浏览器兼容性,但可能需要更多的资源和...