
使用 position: sticky 结合语义化 结构,可高效实现滚动时表头和首列始终可见的“冻结窗格”效果,无需 JavaScript,兼容现代浏览器。
使用 `position: sticky` 结合语义化 `
<div class="relative h-96 w-full overflow-auto border border-gray-300">
<table class="min-w-full border-collapse table-fixed">
<thead><tr>
<th class="bg-gray-700 text-white p-3 sticky top-0 left-0 z-20 w-48">Task</th>
<th class="bg-gray-600 text-white p-3 sticky top-0 z-10 w-40">Mon</th>
<th class="bg-gray-600 text-white p-3 sticky top-0 z-10 w-40">Tue</th>
<th class="bg-gray-600 text-white p-3 sticky top-0 z-10 w-40">Wed</th>
<th class="bg-gray-600 text-white p-3 sticky top-0 z-10 w-40">Thu</th>
</tr></thead>
<tbody>
<tr>
<td class="bg-gray-200 font-medium p-3 sticky left-0 z-20">Design UI</td>
<td class="border p-3">✅</td>
<td class="border p-3">✅</td>
<td class="border p-3">⏳</td>
<td class="border p-3">—</td>
</tr>
<tr>
<td class="bg-gray-200 font-medium p-3 sticky left-0 z-20">API Integration</td>
<td class="border p-3">—</td>
<td class="border p-3">✅</td>
<td class="border p-3">✅</td>
<td class="border p-3">⏳</td>
</tr>
<tr>
<td class="bg-gray-200 font-medium p-3 sticky left-0 z-20">Testing</td>
<td class="border p-3">—</td>
<td class="border p-3">—</td>
<td class="border p-3">✅</td>
<td class="border p-3">✅</td>
</tr>
</tbody>
</table>
</div>











