Javascript 无需滚动即可修复HTML表格标题
请建议我如何锁定表中的标题以避免滚动。查找示例代码:。 我想锁定Column1和Column2标题,这样当我们向下滚动查看数据时,表标题仍然可见。提前感谢。 我的html代码:Javascript 无需滚动即可修复HTML表格标题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,请建议我如何锁定表中的标题以避免滚动。查找示例代码:。 我想锁定Column1和Column2标题,这样当我们向下滚动查看数据时,表标题仍然可见。提前感谢。 我的html代码: <div id="test" style="float: left; border: 0px solid #99ffff;"> <table cellpadding="2px" cellspacing="2px" style="border: 0px solid #ffffff; margin-righ
<div id="test" style="float: left; border: 0px solid #99ffff;">
<table cellpadding="2px" cellspacing="2px" style="border: 0px solid #ffffff; margin-right: 15px; margin-bottom: 20px;">
<tr>
<td>
<table cellpadding="2px" cellspacing="2px" style="border: 2px solid #657383; margin-bottom: 15px;" width="300px">
<tr>
<td colspan="3" style="padding-left: 0px; padding-right: 0px; padding-bottom: 0px">
<table width="300px" border="1" class="newTable">
<tr>
<th>Column1</th>
<th>Column2</th>
</tr>
<tr><td class="rowStyle">data 1</td>
<td class="rowStyle">data1 </td></tr>
<tr><td class="rowStyle">data 2</td>
<td class="rowStyle">data2</td></tr>
<tr><td class="rowStyle">data 3</td>
<td class="rowStyle">data3</td></tr>
<tr><td class="rowStyle">data 1</td>
<td class="rowStyle">data1 </td></tr>
<tr><td class="rowStyle">data 2</td>
<td class="rowStyle">data2</td></tr>
<tr><td class="rowStyle">data 1</td>
<td class="rowStyle">data1 </td></tr>
<tr><td class="rowStyle">data 2</td>
<td class="rowStyle">data2</td></tr>
<tr><td class="rowStyle">data 3</td>
<td class="rowStyle">data3</td></tr>
<tr><td class="rowStyle">data 3</td>
<td class="rowStyle">data3</td></tr>
</table></td></tr>
</table>
</td>
</tr>
</table>
</div>
专栏1
专栏2
数据1
数据1
数据2
数据2
数据3
数据3
数据1
数据1
数据2
数据2
数据1
数据1
数据2
数据2
数据3
数据3
数据3
数据3
您必须将标题放在单独的表格中,并在其上放置一个固定位置。看看这个
专栏1
专栏2
....
像这样尝试:
在HTML中对此进行了更改:
<th>Column1
<div>Column111</div>
</th>
<th>Column2
<div>Column222</div>
</th>
注意:css有点粗糙,但是有点样式化会更好
另一种方法是将标题线与表格分开,使其成为两个元素。您可以指定位置:固定;属性设置为th样式,然后将其设置为与表格相适应,以便正确定位和重叠
th {
position: fixed;
}
我还找到了这个回答你问题的链接你已经发布了这样一个问题。。。。已删除和其他用户。。。你的意思是什么。是的,我用同样的方法尝试过,但是表头的宽度与其他表中显示的数据的宽度不匹配。@Mathieu Labrie Parent.A调整表头的宽度。。。我把它从300改为290,它非常适合,这是一个糟糕的解决方案<代码>位置:固定代码>粘贴到
窗口
,而不是特定元素。如果页面充满内容并成为滚动条,th
将不会停留在正确的位置。所以这只适用于像小提琴一样完美的场景。
th {
height: 0;
line-height: 0;
padding-top: 0;
padding-bottom: 0;
color: transparent;
border: none;
white-space: nowrap;
}
th div{
position: absolute;
background: blue;
color: #fff;
padding: 9px 25px;
top: 0;
line-height: normal;
border-left: 1px solid #800;
}
th {
position: fixed;
}