Note that this only seems to be an issue in Internet Explorer versions 7 and lower. Here's a dumbed-down version of my HTML:
<table>
<colgroup>
<col width="20" class="hidden_col" />
<col width="50" />
<col />
</colgroup>
<tr>
<td class="hidden_col"><input type="checkbox" /></td>
<td>Title</td>
<td>Longer Description</td>
</tr>
</table>
Then, I'm including a "print" stylesheet, like this:
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
And that stylesheet includes the following:
.hidden_col {
display: none;
}
Now on just about every other browser, even including IE8, this works fine. On the screen you see that first column, in print preview you don't. But for some reason, IE7 behaves very oddly. It displays things normally on the screen of course, but when you go to print preview in IE7, the only thing that shows is "Longer Description." So in other words, it hides that first column, and it also hides the second column. How do I make this work in all browsers?