在此表中,“left data”的rowspan
太大,根据表的滚动位置,“left data”的文本可能会被隐藏。
如何在屏幕上连续显示“左侧数据”的文本而不考虑滚动位置?
当然,我正在处理的实际表包含更多的数据,并且在不同的地方合并了单元格。
const myTbody = myTable.getElementsByTagName("tbody")[0];
const myTr = document.getElementById("myTr");
const firstTd = myTr.children[0];
for (const i of [...Array(100).keys()]) {
const td = document.createElement("td");
td.textContent = `right data${i}`;
const tr = document.createElement("tr");
tr.appendChild(td);
myTbody.appendChild(tr);
firstTd.rowSpan = Number(firstTd.rowSpan) + 1;
}
div.container {
height: 500px;
overflow-y: auto;
}
#myTable {
width: 300px;
border-collapse: collapse;
table-layout: fixed;
background-color: lightsteelblue;
}
#myTable thead {
position: sticky;
top: 0;
background-color: lightgray;
}
#myTable th,
#myTable td {
border: 1px solid black;
padding: 10px;
}
<div class="container">
<table id="myTable">
<thead>
<tr>
<th>left header</th>
<th>right header</th>
</tr>
</thead>
<tbody id="myTbody">
<tr id="myTr">
<td>left data</td>
<td>right data</td>
</tr>
</tbody>
</table>
</div>
1条答案
按热度按时间inn6fuwd1#
将文本“left data” Package 到
<span>
元素中...添加类,如fixed-column
然后添加以下CCS规则:
向下滚动时,span元素将保持在中心位置
演示:Fixed text in column