画面をスクロールしたときに、テーブルのヘッダー(th)を固定させる、というパターンがあると思います。
エクセルなどの表計算ソフトでいうと、「ウインドウ枠の固定」に該当するものです。


最近のブラウザを対象にした実装では、以下のように、position:sticky を th要素 に設定すると、簡単に固定できます。
※th要素、に限らず、固定したい列・行で固定できます。nth-child(n)を使うかたちです。

CSSのposition: stickyでテーブルのヘッダー行・列を固定する
https://qiita.com/orangain/items/6268b6528ab33b27f8f2

Position Sticky and Table Headers
https://css-tricks.com/position-sticky-and-table-headers/


このCSSによる設定単体では、特に動作に問題は生じません。
しかし、スマホ向けのテーブルでよくある、横スクロール可能なテーブル、すなわち overflow-x:auto を設定したdiv要素などでヘッダーを固定したいテーブルを囲むと、テーブルヘッダーの固定がうまく動作しませんでした。
CSS Tables(Responsive Tableを参照)
https://www.w3schools.com/css/css_table.asp


色々と試した結果、その overflow-x:auto を設定した要素に高さ、例えば height: 70vh などを設定することで、テーブルヘッダーの固定ができるようになりました。


メモレベルで、サンプルコードもないですが、ご参考まで。