zoukankan      html  css  js  c++  java
  • html css 如何将表头固定

        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="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> 

  • 相关阅读:
    MySQL 重置Mysql root用户账号密码
    Git 在同一台机器上配置多个Git帐号
    JQuery 获取元素到浏览器可视窗口边缘的距离
    JQuery Ztree 树插件配置与应用小结
    JQuery iframe宽高度自适应浏览器窗口大小的解决方法
    JQuery jquerysessionjs插件使用介绍
    JQuery Deferred对象使用小结
    JQuery javascript实现父子页面相互调用
    JavaScript 使用new关键字调用函数
    CSS 让div,span等块级、非快级元素排列在同一行
  • 原文地址:https://www.cnblogs.com/ranran/p/fixed_table_header.html
Copyright © 2011-2022 走看看