In my HTML I have,
For those after a dynamic solution (if you don't want to hard-code the column widths etc), I've published a javascript solution, based on this excellent answer.
Working example
Usage:
// After including tableColumnFreeze.js
var freezer = document.getElementById('freezer');
new TableColumnFreeze(freezer);
Markup:
Column 1 Column 2 Column 3
Frozen Not frozen Not frozen
Frozen Not frozen Not frozen
Frozen Not frozen Not frozen
Frozen Not frozen Not frozen