首页 >web前端 >html教程 >html css 如何将表头固定_html/css_WEB-ITnose

html css 如何将表头固定_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:25:111458浏览

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"/ alt="html css 如何将表头固定_html/css_WEB-ITnose" >  --%>        <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> 

  

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn