2012-02-22 4 views
2

を非表示にすることを拒否します。私はちょうどテストのために、テーブルの一部の列を非表示にする必要がありプリントCSSは、私は、現代のブラウザで簡単なCSSを使用しています要素

@media print 
{ 
    #wrap, div.push, div.footer, div.barra_sopra_datatables, div.fg-toolbar, img{ 
     display: none; 
    } 

    body { 
     font-size: 10pt; 
    } 

    * { 
    margin: 0; 
    padding: 0; 
    } 


} 

私は

tr:first-child { 
    display: none; 
} 

をしようとしたが、それは、すべてのtr要素が非表示になります。

私はalsoveもtd:first-childtable tbody tr td:first-childや他のセレクタを試してみた、とそれらのすべてがに失敗。私はIE 8との互換性を維持する必要があります。kimblim.dkはIE 8がこれらのセレクタをサポートしていると言っています。私は多くの人々が指摘している背景色を設定しようとしていません。

+1

テーブルHTMLは何ですか?同じスタイルがプリント以外の他のメディアでも正しく機能しますか? – BoltClock

+1

また、「列を非表示にする」必要がある場合は、行を非表示にしてもそのトリックは行いません。 –

+2

私はちょうどIE8(実際のもので、IE9では互換モードではありません)でテストしましたが、問題を再現できません。 '@media print'部分と' td:first-child {display:none;} '部分の両方が正常に動作します。あなたのウェブサイトへのリンクを投稿できますか?私は別のことが起こっているかどうかを知る必要があります。 –

答えて

1

私はあなたがテーブルセルを表示しないだけではないと思います。
display:noneは、それをまったく表示しないことを意味します。最初の場所には表示されません。ブラウザーはおそらく、最初の列がもう存在しない場合、次の列は新しい最初の列であり、この列も非表示にします。

はたぶん@media printがIEで完全にサポートされていない

@media print { 
    .hide-in-print { 
    display: none; 
    } 
} 

テーブルセルにクラスhide-in-printを与えるようにしてください、その後

。これが当てはまる場合は、条件付きコメントを試してください。

+0

いいえ、IE8ではすべて正常に動作します。 OPの問題を引き起こす何か他のことが起こっているはずです。 –