打印CSS拒绝隐藏元素

时间:2012-02-22 16:51:16

标签: css css-selectors

我在现代浏览器中使用简单的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说IE 8支持这些选择器,那为什么它不起作用?我不是要设置背景颜色,许多人指出它不起作用。

1 个答案:

答案 0 :(得分:1)

我认为你不能只是不显示表格单元格 display:none表示,根本不显示它,因此首先不会显示它。也许浏览器认为,如果第一列不再存在,则下一列是新的第一列,然后它也会隐藏这些列。

尝试为表格单元格提供类hide-in-print,然后

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

IE可能不完全支持@media print。如果是这样,请尝试条件注释。