The best way to do this is to completely reformat the table:
http://jsfiddle.net/MLZEb/9/
tbody, tr, th, td { display: block } thead { display: none } td:before { content: attr(data-label); display: inline-block; width: 6em; padding-right: 1em; vertical-align: middle; } td:first-child { background: #CCC; }
For this, td must have a data-label attribute for effective use: <td data-label="Favorite Color">Blue</td> . Typical th elements in column headers are expected to be in the thead tag.
source share