位置问题:打印时元素绝对 - IE8

时间:2011-05-23 12:47:42

标签: css printing internet-explorer-8 position stylesheet

我在打印时遇到了IE8中元素绝对定位的问题。 我有我的打印样式表,在这里我试图将一个元素放在第一个打印页面的右上角。

问题是,当元素放在第二页时,IE8认为页面顶部位于第二页,而不是第一页。

这是我的print.css:

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

在所有其他浏览器(Opera 11,Firefox 3.6,Safari 5,Chrome 11,IE9,IE9兼容模式,IE8兼容模式)中,.myElem-div将打印在右上角的第一页上。但在IE8中,div打印在第二页的右上角。如前所述,div位于DOM中的“第二打印页面”上。我无法在我的DOM中提前移动元素,因此这不是解决方案。

实际上这与其他用户在评论中所描述的问题相同:http://msdn.microsoft.com/en-us/library/ms533005%28v=vs.85%29.aspx#CommunityContent

任何人都有解决方案吗?

提前非常感谢你!

此致 金

1 个答案:

答案 0 :(得分:0)

两种可能的解决方法......并非真正修复。

  1. 创建不需要doctype的页面的打印机友好版本,这可能导致IE8窒息。当然,这需要做很多工作......除非您没有太多页面,否则您可以使用服务器端技术动态生成这些页面。

  2. 使用条件注释创建仅限IE8的样式表,例如<!-- [if IE 8]> <link rel="stylesheet" type="text/css" href="ie-8.0.css" /> <![endif]-->并使用此工作表将divdisplay:none;一起删除,假设您可以不使用它。