富贵资源网 Design By www.hznty.com
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="/UploadFiles/2021-03-30/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>
解决办法示例如下。其中,单元格上下对齐的问题可以通过设置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="/UploadFiles/2021-03-30/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>
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。