Como bloquear a primeira linha e a primeira coluna de uma tabela ao rolar, possivelmente usando JavaScript e CSS?

Como posso criar uma tabela que tenha sua primeira linha e primeira coluna bloqueadas, como no Excel, quando você ativa 'congelar painéis'? Eu preciso da tabela para rolar horizontal e verticalmente (existem muitas soluções para isso, mas permitem apenas a rolagem vertical).

Portanto, quando você rolar para baixo na tabela, a primeira linha permanecerá posicionada, pois terá os títulos das colunas. Isso pode acabar sendo umthead, ou não, o que facilita a solução.

Quando você rola para a direita, a primeira coluna permanece colocada, pois contém os rótulos para as linhas.

Estou certo de que isso é impossível apenas com CSS, mas alguém pode me indicar uma solução JavaScript? Ele precisa funcionar em todos os principais navegadores.

questionAnswers(11)

yourAnswerToTheQuestion