我需要在 IE8 中支持相当漂亮的打印。我今天遇到了一个使用某些 HTMl5 功能(部分)和 CSS 的页面的问题。该问题仅在打印时出现。查看下面的示例,它应该生成一些带下划线的文本。这很好用。但是在打印时,它没有下划线。这可以通过将“部分”更改为“div”来“修复”,但出于各种原因,我宁愿不这样做。
有人有建议吗?这似乎不是在打印预览期间执行 javascript 的问题,因为我可以将“window.onload”事件添加到页面以使其在 div 中填充内容,并且在打印预览中可以正常工作。并且普通的 CSS 在打印预览中可以正常工作;如果我没有在“.Signature”中嵌套“.SigLine”,它在打印预览中可以正常工作。但似乎“Section”标签的 CSS 类以某种方式被忽略了,因此嵌套的“SigLine”div 并不认为自己是“Signature”元素的子元素。
这是一个完整的工作示例
<html>
<head>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style type="text/css" media="screen,print">
.Signature .SigLine{border-bottom:solid 1px #000}
</style>
</head>
<body>
<section class="Signature"> <!-- Make this a <div> and everything's fine... -->
<div class="SigLine" style="width: 400px;">I should be underlined...</div>
</section>
</body>
</html>