2011-09-17 27 views

回答

0

只需添加一个打印样式表或使用媒体查询和断开股利或只是样式添加到您的HTML打印时需要制动的元素。

尝试的内容每一段块,你认为需要打破后,加入这样的:

<div class="break">&nbsp;</div> 

至于你的CSS只补充一点:

.break { 
    display:none; 
} //place inside your regular stylesheet file 

@media print { 
    .break { 
     display:block; 
     page-break-after:always 
    } 
} 

这种方法适用于大多数现代浏览器,包括IE8 +。

+0

这是一个可怕的工作。如果您尝试在多个页面中放置多个div,则当此块不适合时,您将限制每页1个div,而不是实际分页。这种解决方法甚至不会达到页面打破内容的目的。 – Churk

+0

@Churk我不认为你了解这个问题和我的答案。关键是要防止在同一页面上打印多个div,而不是试图让它们适合它们。 –

+0

@andrews Ilich这就是它会阻止在两页之间打印元素的事情。 。这就是'页面破解:避免;'假设要做的事情。 – Churk

0

page-break-inside属性仅被Opera支持。

http://www.w3schools.com/cssref/pr_print_pagebi.asp

+1

w3school不提供大约50%的正确信息。这是其中之一。 IE7和IE8和IE9支持它,只要doctype设置为严格模式而不是怪癖模式。 – Churk

+0

真的吗?除了您的个人经历,是否有任何文章可以分享这个观点?顺便说一下,你的帖子迟了大约9个月,有些人会将其归类为necro-post。 –

+0

只有当我试图恢复它时,它的necro才是。我正在试图找到一个解决方案来解决页面内部问题:避免;该工作跨浏览器。因此,如果我能找到可以帮助的事情,我会访问所有帖子,甚至9个月的帖子。 – Churk