Si noti che questo sembra solo essere un problema nelle versioni di Internet Explorer 7 e inferiori. Ecco una versione inferiore del mio 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>
Quindi, io sto tra cui un foglio di stile "stampa", in questo modo:
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
E questo foglio di stile include quanto segue:
.hidden_col {
display: none;
}
Ora su quasi ogni altro browser, tra cui anche IE8, questo funziona bene. Sullo schermo si vede che prima colonna, in anteprima di stampa non lo fanno. Ma per qualche motivo, IE7 si comporta in modo molto strano. Esso mostra le cose normalmente sullo schermo, naturalmente, ma quando si va a stampare anteprima in IE7, l'unica cosa che mostra è "Longer Descrizione". Quindi, in altre parole, si nasconde che prima colonna, e nasconde anche la seconda colonna. Come faccio a fare questo lavoro in tutti i browser?