2012-02-24 12 views
1

私はIE8は、唯一

... 
<table> 
<tbody> 
<tr style="display: none;" class="print_display"><td>stuff ....</td>/tr> 
</tbody> 
</table> 

問題は、私はIE8でそれを再表示することができないで持っているCSSで再表示 私は、ユーザーが印刷しようとしたときにキックprint_cssを持っており、それは

tr.print_display 
    { 
     border: 1px solid; 
     display: table-row !important; 
     visibility: visible !important; /* IE bug*/ 
    } 
を持っています

何もしない

CSSで表示することはできますか?

答えて

1

試してみてください。

tr.print_display 
    { 
     border: 1px solid; 
     display: block !important; 
    } 

また、あなたのマークアップは無効です。私は/tr>

http://jsfiddle.net/8jqHE/

+0

ええ、コピーペーストのバグです、ありがとうございました!!!あなたの答えをすぐに受け入れるつもりです – max4ever

+0

firefoxの表示ブロックの廃墟のレイアウト:( – max4ever

+0

他のブラウザで、複数の列と行を持つテーブルでこれをチェックしてください:の "display:block"に問題があると思います – Ray

2

の代わりに</tr>を使用してい

<tr style="display: none;" class="print_display"><td>stuff ....</td></tr> 

私はあなたが 'CSSだけ' と述べた知っているが、私はそれがうまくいくとは思わない:と交換してください。あなたは、行為を行うためにいくつかのjavascriptを使用できますか?その場合は、style.displayの値を ""(空文字列)に設定します。これは、すべてのブラウザで表の行を表示するために機能します。これを「ブロック」に設定すると表示の問題が発生する可能性があります。IEは実際には「テーブル行」の項目をうまく処理しません。

+0

ブロックを設定すると、あなたは私の答えが正しくないと言っていますか?この部分の説明をお願いします。 – Curt

+1

'block'はテーブル行の適切な表示値ではありません。そうではありません。これは、この質問の単純な単一行、単一列のサンプルでは明白ではありませんが、大きなテーブルに。 – Ray

+0

+1質問 – Curt