1

Обратите внимание, что это только проблема в Internet Explorer версии 7 и ниже. Вот упрощенная вниз версия моего HTML:Как получить IE7 для правильной печати этого <table> со столбцами, скрытыми CSS?

<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> 

Тогда, я в том числе «печать» таблицу стилей, например:

<link rel="stylesheet" type="text/css" href="print.css" media="print" /> 

И что таблица стили включает в себя следующее:

.hidden_col { 
    display: none; 
} 

Теперь обо всех браузерах, включая IE8, все работает отлично. На экране вы видите этот первый столбец, в предварительном просмотре печати вы этого не делаете. Но по какой-то причине IE7 ведет себя очень странно. Конечно, он отображает все, что обычно на экране, но когда вы переходите на печать в IE7, единственное, что отображается, это «Более длинное описание». Другими словами, он скрывает этот первый столбец, а также скрывает второй столбец. Как сделать эту работу во всех браузерах?

ответ

0

То, что я закончил, - это просто указать ширину самих ячеек, а не использовать <colgroup> больше. Не идеальный в моем сознании, поэтому я оставлю этот вопрос открытым на некоторое время, если кто-нибудь может придумать лучшее решение, но оно действительно сработало. Вот мой последний HTML:

<table> 

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

</table> 
1

Вы не можете скрыть один элемент таблицы, элементы внутри таблицы могут использовать только свойства отображения CSS, которые начинаются с «table-», по крайней мере, они должны только. См. this для получения дополнительной информации.

Редактировать: Я бы предположил, что ваша проблема - просто сбой при использовании свойств, которые вы не должны использовать.

+0

Ну, это странно, так как оно работает в других браузерах. – SoaperGEM

0

Попробуйте это: (непроверенные)

td .hidden_col{ 
    display: none; 
} 

по какой-то причине в режиме печати может быть продолжением с помощью стилей CSS в режиме печати на некотором браузере.

+0

Это не будет соответствовать чему-либо, потому что 'td' не является потомком' col'. – Joel