Come faccio ad avere IE7 per stampare questo correttamente con le colonne nascoste da CSS?

StackOverflow https://stackoverflow.com/questions/2374164

Domanda

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?

È stato utile?

Soluzione 3

Quello che ho finito per fare è semplicemente specificando le larghezze delle cellule stesse e che non utilizzano più il <colgroup> a tutti. Non è l'ideale nella mia mente, quindi lascio aperta la questione per un po 'nel caso in cui chiunque può trovare una soluzione migliore, ma ha funzionato. Qui è stata la mia ultima HTML:

<table>

<tr>
<td width="20" class="hidden_col"><input type="checkbox" /></td>
<td width="50">Title</td>
<td>Longer Description</td>
</tr>

</table>

Altri suggerimenti

Non si può nascondere un singolo elemento di una tabella, gli elementi all'interno di una tabella possono utilizzare solo le proprietà di visualizzazione CSS che iniziano con 'tavolo-', almeno si suppone solo. Vedere questo per ulteriori informazioni.

Edit: mi piacerebbe pensare il vostro problema è solo un problema tecnico di utilizzare le proprietà che non dovresti essere utilizzando

.

Prova questo: (non testato)

td .hidden_col{
    display: none;
}

per qualche motivo in modalità di stampa non ci può essere una continuazione con gli stili CSS in modalità di stampa su alcuni browser.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top