我在打印时遇到了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
任何人都有解决方案吗?
提前非常感谢你!
此致 金
答案 0 :(得分:0)
两种可能的解决方法......并非真正修复。
创建不需要doctype
的页面的打印机友好版本,这可能导致IE8窒息。当然,这需要做很多工作......除非您没有太多页面,否则您可以使用服务器端技术动态生成这些页面。
使用条件注释创建仅限IE8的样式表,例如<!-- [if IE 8]> <link rel="stylesheet" type="text/css" href="ie-8.0.css" /> <![endif]-->
并使用此工作表将div
与display:none;
一起删除,假设您可以不使用它。