2011-05-23 52 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