打印CSS拒绝隐藏元素



我在现代浏览器中使用简单的CSS:IE 9和Firefox 10。

<link href="/css/print.css" media="print" rel="stylesheet" type="text/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元素。

我还尝试过td:first-childtable tbody tr td:first-child和其他选择器,它们都失败了。我需要保持与IE 8的兼容性。kimblim.dk说IE8支持这些选择器,为什么它不起作用呢?我并没有试图设置背景颜色,许多人指出这是行不通的。

我认为不能不显示表格单元格
display:none的意思是,根本不显示它,就这样做吧,因为它本来就不在那里。也许浏览器认为,如果第一列不在了,那么下一列就是新的第一列,然后它也会隐藏这些列。

尝试给表格单元格一个类别hide-in-print,然后是

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

也许IE不完全支持@media print。如果这是真的,请尝试条件注释。

最新更新