javascript - 修复了 html 表格中的行和列
问题描述
我有一个具有固定宽度和高度的 html 表格,并且溢出设置为滚动。我希望在垂直方向滚动时固定第一行,在水平滚动时固定第一列。我没有头。
<table>
<tr>
<td>Value 11</td>
<td>Value 12</td>
<td>Value 13</td>
</tr>
<tr>
<td>Value 21</td>
<td>Value 22</td>
<td>Value 23</td>
</tr>
<tr>
<td>Value 31</td>
<td>Value 32</td>
<td>Value 33</td>
</tr>
<tr>
<td>Value 41</td>
<td>Value 42</td>
<td>Value 43</td>
</tr>
</table>
解决方案
试试这个但忽略js部分,它只用于生成大表。您的解决方案在 CSS 部分
// generate table
var row = '<tr>',rowLen=100,colLen=100,content='';
for(var i=0;i<rowLen;i++)
row+= '<td>text'+i+'</td>';
row+= '</tr>';
for(var j=0;j<colLen;j++)
content+=row;
document.getElementsByClassName('freezHeaderAndTitle')[0].innerHTML=content;
.freezHeaderAndTitle{
border: 2px solid black;
border-collapse: collapse;
}
.freezHeaderAndTitle td{
border: 1px solid black;
padding: 5px 10px;
}
.freezHeaderAndTitle tr:first-of-type td{
position: -webkit-sticky;
position: sticky;
top: 0px;
background-color: cyan;
}
.freezHeaderAndTitle td:first-of-type{
position: -webkit-sticky;
position: sticky;
background-color: red;
left: 0px;
}
/* Edit: corner fixed always */
.freezHeaderAndTitle tr:first-of-type td:first-of-type{
z-index:100;
}
<table class="freezHeaderAndTitle">
</table>
推荐阅读
- python - 将 django 多项选择字段与文本输入连接
- reactjs - 我的元素没有相应地移动到 onPanResponderMove
- c# - WebApi 自定义 BufferedMediaTypeFormatter WriteToStream 永远不会被调用
- sql - sql(4 不同列) 中的 Dense_rank 查询
- sql - 使用 SQL 中多列的值创建列
- react-native - 如何手动链接库?
- java - 默认情况下总是在菜单切换中运行
- javascript - 为什么等待/异步的结果未定义?
- azure - 将 Azure 自定义脚本扩展从 Blob 添加到 Powershell 的虚拟机规模集
- arrays - 使用多重索引枚举多线性映射的 Swift 算法:[Int]