我在现代浏览器中使用简单的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-child
、table 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
。如果这是真的,请尝试条件注释。