2011-05-23 91 views
2

打印時,我遇到了IE8中元素絕對定位的問題。 我有我的打印樣式表,在這裏我試圖在第一個打印頁面的右上角放置一個元素。位置問題:打印時元素絕對 - IE8

問題是,當元素被放置在第二頁上時,IE8認爲頁面頂部在第二頁而不是第一頁。

這是我的print.css:

.myElem{ 
    position:absolute; 
    top:0; 
    right:0; 
    width:230px; 
} 

在所有其他瀏覽器(歌劇11,火狐3.6,Safari 5的,鉻11,IE9,IE9兼容模式,IE8的兼容模式)的.myElem- div將打印在右上角的第一頁上。但在IE8中,div打印在第二頁的右上角。如前所述,div位於DOM中的「第二個打印頁面上」。我無法在DOM中更早地移動元素,所以這不是一個解決方案。

其實這是因爲在descibed其他用戶這裏的評論同樣的問題:http://msdn.microsoft.com/en-us/library/ms533005%28v=vs.85%29.aspx#CommunityContent

任何人有一個解決的辦法?

非常感謝你提前muvh!

問候, 金

+0

嘗試刪除頁面的文檔類型標記。 – MUS 2011-05-23 13:04:09

+0

呵呵,這可能會起作用,但這會弄亂我在頁面上的所有樣式。除非可以僅刪除印刷版本上的文檔類型,否則不幸的是這不是解決方案。 – 2011-05-23 13:24:50

回答

0

兩個可能的解決方法......沒有真正解決。

  1. 創建不需要doctype,這可能是造成IE8嗆頁面打印機友好的版本。當然,這是很多工作,除非你沒有太多頁面,或者你可以使用服務器端技術動態生成這些頁面。

  2. 使用條件註釋,例如<!-- [if IE 8]> <link rel="stylesheet" type="text/css" href="ie-8.0.css" /> <![endif]-->創建IE8,只有樣式表,並使用此表來完全刪除divdisplay:none;,假設你可以沒有它。

+0

對不起傑森。這也不是我的解決方案。我需要頁面上的元素,並且不能創建沒有文檔類型的版本。 – 2011-05-24 12:58:09