2012-02-24 51 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