position属性取值为fixed时,则元素的位置将不受滚动条的影响,而是直接依据窗口定位,这就是将表头固定的最直接方法,网上其他途径感觉都是在走弯路。但是与此同时必须解决两个问题。第一:表体将随之不依据表头定位,而是依据body元素定位,因此表体将上移,导致表体靠上部分被表头遮挡,而且有重影。第二:表体的宽高和表头的宽高也将互相独立不再受文档流的约束,这导致单元格对不齐。 
    解决办法示例如下。其中,单元格上下对齐的问题可以通过设置padding margin 百分比width来解决,表头和表体也可以放在各自的div里。 
样式单 
<style type="text/css"> 
        *{ 
           padding:0px;  
           margin: 0px;  
        } 
        #thead { 
          /*固定表头*/ 
        position:fixed; 
         /* 表头显示层次高于表体,防止空白行和表头重合时出现重影*/ 
                z-index:2; 
        background:#ECECFF; 
        } 
        #spacetr{  /* 空白的tr 用来填补表头遮盖的数据*/ 
        position:relative; 
        z-index:1; 
        } 
        .tdata { /* 显示表格数据的tr */ 
        position:relative; 
        z-index:1; 
        } 
    </style>

js脚本 
   $(function(){ 
$("#spacetr").css("height",$("#thead").css("height")); 
//将空白行的高度设置为和表头等高,使被遮挡的数据刚好下移表头高度的距离 
   });

jsp代码:

<div style="width:100%"> 
<%--<img src="${pageContext.request.contextPath}/images/post_head.jpg"/>  --%> 
       <table id="table" border="1px gray solid "  cellspacing="0" cellpadding="0" width="100%;" > 
   <tr id="thead"> 
   <td width="9%" align="center">招聘学科</td> 
   <c:forEach items="${postnames}" var="postname"> 
   <td valign="bottom" align="center"> 
   ${postname} 
   </td> 
   </c:forEach> 
   </tr> 
   <tr id="spacetr"> 
   <td width="9%"></td> 
   <c:forEach items="${postnames}" var="postname"> 
   <td> 
   </td> 
   </c:forEach> 
   </tr> 
   <c:forEach items="${shcoolsPostnumbers}" var="schoolPostnumbers"> 
   <tr class="tdata"> 
   <td width="9%" >${schoolPostnumbers.key}</td> 
   <c:forEach items="${schoolPostnumbers.value}" var="postnumber"> 
   <td align="center"> ${postnumber} </td> 
   </c:forEach> 
   </tr> 
   </c:forEach> 
</table> 
    </div>

html css 如何将表头固定的更多相关文章

  1. html css 如何将表头固定(转)

    html css 如何将表头固定 position属性取值为fixed时,则元素的位置将不受滚动条的影响,而是直接依据窗口定位,这就是将表头固定的最直接方法,网上其他途径感觉都是在走弯路.但是与此同时 ...

  2. 纯CSS实现table表头固定(自创备忘)

    因为之前约定时候产品没说要表头固定,这次迭代测试突然提出这个需求,而且不知道因为什么未知原因非要这样不可--因为之前用了table标签做表单,而且也没用插件,这下就难了点,找另外一个前端前辈妹子商量了 ...

  3. css手写一个表头固定

    Bootstrap,layui等前端框架里面都对表头固定,表格滚动有实现,偏偏刚入职的公司选择了手动渲染表格,后期又觉得表格数据拉太长想要做表头固定.为了避免对代码改动太大,所以决定手写表头固定 主要 ...

  4. div+css实现表头固定内容滚动表格

    <div class="m-demo"> <table> <thead> <tr><th>定宽a</th>& ...

  5. html bootstrap 表头固定在顶部,表列 可以自由滚动的效果

    该效果主要是依照 bootstrap 的一个样式,class="navbar-fixed-top"; 参考网址为:http://v3.bootcss.com/components/ ...

  6. IE的表头固定/表头不动(使用expression)

    本文主要介绍在IE浏览器中,实现表头固定的一种方法.这种方法使用到了 IE 浏览器特有的 expression 方法. 表头固定DEMO1 主要代码: <style type="tex ...

  7. jQuery,Table表头固定插件chromatable存在的问题及解决办法

    在最近的项目中需要将表格的表头固定,搜寻了大量的资料,发现chromatable插件还是比较方便的.但是当我在一个页面中多次使用 chromatable固定对个表格的表头时问题就出现了,首先说明系统的 ...

  8. IE,表头固定

    <html>  <head>   <title>表头固定</title>    <style type="text/css"& ...

  9. html5 table的表头固定的HTML代码

    table的表头固定的HTML代码 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

随机推荐

  1. HttpWebRequest下载文件,乱码问题解决方案

    写在前面 今天之所以会总结HttpWebRequest下载文件,主要是因为在使用该类下载文件的时候,有些地方需要注意一下,在实际的项目中遇到过这种问题,觉得还是有必要总结一下的.在下载文件时,最常见的 ...

  2. HTML5+规范:Webview的使用详解

    一.知识点 Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作.通过plus.webview可获取应用界面管理对象. 1.方法 1.1.all: 获取所有Webview窗口 Array[ ...

  3. 第三章 广义线性模型(GLM)

    广义线性模型 前面我们举了回归和分类得到例子.在回归的例子中,$y \mid x;\theta \sim  N(u,\sigma ^{2})$,在分类例子中,$y\mid x;\theta \sim ...

  4. MQTT协议-----订阅

    MQTT协议笔记之订阅      http://www.blogjava.net/yongboy/archive/2014/04/12/412351.html MQTT - chszs的专栏    h ...

  5. .NET中的堆(Heap)和栈(Stack)的本质

    计算机的内存可以分为代码块内存,Stack内存和Heap内存.代码块内存是在加载程序时存放程序机器代码的地方. 栈(Stack)一般存放函数内的局部变量. 堆(Heap)一般存放全局变量和类对象实例等 ...

  6. Scrum Meeting Beta - 1

    Scrum Meeting Beta - 1 NewTeam 2017/11/28 地点:主南201 任务反馈 团队成员 完成任务 计划任务 安万贺 详细讨论Beta阶段的任务和具体分工 了解缓存的相 ...

  7. ant build.xml 解释!

    Ant的概念  Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨 ...

  8. script 执行的三种方式

    <script>: 脚本的获取和执行是同步的.此过程中页面被阻塞,停止解析. <script defer = "defer">:脚本的获取是异步的,执行是同 ...

  9. 赋予Winform程序管理员访问权限

    业务场景:Winform操作系统盘文件夹时进行文件的读写时,会需要管理员权限打开文件. 解决方案: 在项目文件中找到app.manifest文件打开. 替换requestedExecutionLeve ...

  10. C# 为VB6.0程序模拟串口数据

    为VB6.0编写程序模拟数据测试使用. 一.VB6.0 控件MSComm,来发送接收串口数据 CommPort 属性设置并返回通讯端口号,虚拟端口为COM2. Settings 属性设置并返回端口的波 ...