position – CSS: カスケーディングスタイルシート | MDN#sticky 端の一列は簡単です。td 要素にposition: stickyをつけ、固定したい方向にleft: 0の様にするのみでよしなにしてくれます。次のデモがこれです。 /* 1列目を左端に固定 */ td:first-child { position: sticky;// 固定 left: 0; // 左端 } 上下の複数行はちょっと工夫が要りますが、シンプルではあります。上部はtheadで固定したい範囲を囲ってtheadにposition: stickyをかけます。下部はtfootとして同様です。次のデモがこれです。 thead { position: sticky; top: 0; } tfoot { position: sticky; bottom: 0; } 左右の複数列は上下複数行に比べてずいぶん