首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在打印时避免末尾多余的空白页?

如何在打印时避免末尾多余的空白页?
EN

Stack Overflow用户
提问于 2011-10-21 15:35:11
回答 29查看 162.8K关注 0票数 108

我使用的是CSS属性,

如果我使用page-break-after: always; =>,它会打印一个额外的空白页

如果我使用page-break-before: always; =>,它会在之后打印额外的空白页。如何避免这种情况?

代码语言:javascript
运行
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.print{
    page-break-after: always;

}
</style>
<script type="text/javascript">
window.print();
</script>
</head>
<body>
<div class="print">fd</div>
<div class="print">fdfd</div>
</body>
</html>
EN

回答 29

Stack Overflow用户

回答已采纳

发布于 2011-10-21 17:11:18

你也许可以添加

代码语言:javascript
运行
复制
.print:last-child {
     page-break-after: auto;
}

因此,最后一个print元素将不会获得额外的分页符。

请注意,如果您针对的是一个可恶的浏览器,那么在IE8中不支持:last-child选择器。

票数 80
EN

Stack Overflow用户

发布于 2013-10-23 07:02:04

你试过这个吗?

代码语言:javascript
运行
复制
@media print {
    html, body {
        height: 99%;    
    }
}
票数 109
EN

Stack Overflow用户

发布于 2014-06-19 18:16:47

描述的解决方案here帮助了我(webarchive link)。

首先,您可以向所有元素添加边框,以查看是什么导致添加新页面(可能是一些页边距、填充等)。

代码语言:javascript
运行
复制
div { border: 1px solid black;}

而解决方案本身就是添加以下样式:

代码语言:javascript
运行
复制
html, body { height: auto; }
票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7846346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档