2012-02-24 50 views
1

IE8的CSS取消隐藏只有

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

问题是我不能在IE8取消隐藏 我有,当用户试图打印踢一个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 style="display: none;" class="print_display"><td>stuff ....</td></tr> 

我使用</tr>代替/tr>

http://jsfiddle.net/8jqHE/

+0

是的,这是一个复制粘贴错误,谢谢你的工作!只要它让我接受你的答案 – max4ever 2012-02-24 14:37:32

+0

在Firefox中显示块的废墟布局:( – max4ever 2012-02-24 14:49:03

+0

检查在其他浏览器,与多列和行的表。我认为你会有“显示:块” – Ray 2012-02-24 14:50:15

2

我知道你说的 'CSS只有',但我不认为它会奏效。你可以使用一些JavaScript来做事吗?如果是这样,请将style.display的值设置为“”(空字符串)。这可以在所有浏览器中显示表格行。将其设置为“阻止”可能会导致显示问题,而IE并没有真正处理“表格”行为。

+0

将其设置为阻止可能导致显示问题?你是否说我的回答是不正确的?你能给我一些解释吗? – Curt 2012-02-24 14:46:28

+1

'block'不是表格行的正确显示值。IE会以你想要的方式解释它,但Firefox(和其他)会不是,这个问题在简单的单行,单列样本中并不明显,但很容易证明在一张更大的桌子里。 – Ray 2012-02-24 14:53:46

+0

+1我在回答 – Curt 2012-02-24 14:54:55