【发布时间】:2017-02-06 07:23:06
【问题描述】:
以下代码应导致每个div 被打印为单独的页面。每个div 设置为100% 的width 和height。此 HTML 页面在 Safari 5.6.1 以外的所有浏览器 中打印为三页。如何在 Safari 中修复它?
请将以下代码复制到新文件并测试:
<html>
<head>
<style>
html,
body {
height: auto;
margin: 0;
padding: 0;
}
input {
border: 2px solid red;
}
</style>
</head>
<body>
<div style="background-color:red; position: relative; width:100%;height:100%;">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 1.2%;left:1.2%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 6.4%;left:1.3%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 10.4%;left:1.3%">
</div>
<div style="background-color:green; position: relative; width:100%;height:100%;">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 1.2%;left:1.2%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 6.4%;left:1.3%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 10.4%;left:1.3%">
</div>
<div style="background-color:red; position: relative; width:100%;height:100%;">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 1.2%;left:1.2%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 6.4%;left:1.3%">
<input type="text" style="width:5%; height:1.2%; border:1px solid; position:absolute; top: 10.4%;left:1.3%">
</div>
</body>
</html>
【问题讨论】:
-
你为什么给
position:absolute;输入,你到底想要什么? -
您是否尝试将 DIV 的宽度和高度设置为与纸张相同的大小?我建议使用媒体查询:
@media print { div { width: 8in; height: 11in } }。您可能需要稍微调整一下这些值。 -
我无法想象尝试使用 safari 5.6.1 打印的人的市场份额证明添加到文件大小以创建这种兼容性的位是合理的:/