<table>: cómo se puede mostrar <thead> mientras se desplaza por <tbody> en HTML / CSS

Tengo una mesa grande con unas 300 filas y 12 columnas. Mientras se desplaza por la tabla paginando por la página,<thead> El contenido no se muestra de forma predeterminada. Me gustaría verlo mientras me desplazo "dentro"<tbody>. Es decir, si la parte superior de la pantalla comienza con una fila, quiero que el encabezado se muestre primero. De lo contrario debería comportarse como una mesa regular.

La solución común que he visto hasta ahora es crear una tabla que pueda desplazarse por sí misma (por lo tanto, independientemente del desplazamiento de la página). Eso es lo querespuestas a esta pregunta sugerir.

Pero esto no es muy práctico si tiene muchas columnas en la pantalla, en particular porque ahora hay dos barras de desplazamiento independientes. En los dispositivos móviles, la segunda barra de desplazamiento quita mucho espacio precioso. Y también es muy irritante de usar. No puedes simplemente "hojear", pero debes concentrarte para golpear esa pequeña barra de desplazamiento. En otros navegadores, puede desplazarse tocando los datos internos, pero una vez que se mueve hacia afuera, ocurre otro movimiento irritante ...

¿Hay una forma de CSS limpia para hacer esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta