其使用CSS和页面突破内部元素的浏览器支持分页操作?(Which browsers support

2019-06-26 16:45发布

我试图使用分页,里面CSS指令,种类,其是附加到一个div标签或标签表(我认为这可能只在块元素的工作,在这种情况下,它必须是桌子)。

我已经尝试了所有,理应精确地描述如何做到这一点的教程,但没有任何工程。 这是浏览器支持的问题,或者有没有人真正得到了这方面的工作,CSS的确切位看起来是这样的:

@media print {

  .noPageBreak {
     page-break-inside : avoid;
  }
}

Answer 1:

Safari浏览器1.3及更高版本(不知道4) 支持分页-内(尝试,或在这里看到: http://reference.sitepoint.com/css/page-break-inside )。 无论是做Firefox 3或IE7(不知道8)。

在实际意义上,这个属性的支持是SO参差不齐,它没有意义在这一点上都在使用它。 你会很幸运的,如果连10%的访问者都可以支持该浏览器。

我使用的解决方案是增加

page-break-after:always

某些申报单,或者添加一个“页面断路器”格在你想要休息。 这是很笨拙的,我知道,因为它不会做了很多你想要的东西,并导致内容无法到达打印页的底部,但遗憾的是没有更好的解决办法(证明我错了!)。

另一种方法是创建一个样式表,其去除所有多余的元件( display:none ),并且使主内容在一个主柱中流动。 基本上,把它变成一列,纯文本文档。

最后,避免花车和列造型的打印机时,它可以使IE(和FF)行为古怪。



Answer 2:

Safari浏览器 1.3+ , 歌剧 9.2+ , konquerer中 ,和IE8都支持它,至少在一定程度上。

火狐显然还没有。



Answer 3:

  • 火狐不支持此不能在Firefox 4为2010-11-30,因而会。
  • IE8 不支持分页,里面:避免 -但是当我尝试这样做的IE9,这不是在回避页游非常成功(这可能是一个回归,或者IE8也只能避免在非常简单的情况下,分页符)。
  • AFAIK它不以任何WebKit浏览器工作; 肯定不会在镀铬。
  • 它的实际工作在Opera,即使真实存在的网站。


Answer 4:

Safari浏览器1.3和更高版本支持page-break-inside

所以做的Konqueror 。



Answer 5:

我试图使用分页,里面CSS指令,种类,其是附加到一个div标签或标签表(我认为这可能只在块元素的工作,在这种情况下,它必须是桌子)。

首先,有没有必要去猜测。 只要看看说明书 ,你会看到,它确实只适用于块级元素。

其次, <div>元件通常块级元素,所以有不施加问题page-break-inside<div>元素。

最后,你不需要包装在@media 。 你只需要@media ,如果你想独立于介质的规则只适用于一个介质,例如,如果你想使用display: block只有一个介质。 在这种情况下,你不需要隐藏其他媒体这些规则,因为他们将只适用于页面媒体反正。



Answer 6:

从初步搜索,很难找到关于此浏览器的支持上的最新统计数据,但似乎火狐4beta6支持它和Chrome 7没有。 Chrome还会中途一行文本打破页面,所以那段文字出现在一个页面上,并部分出现在下。 不寻常缺乏对细节的关注,但我想关于打印的东西既不是谷歌和苹果的照顾。

火狐4还增加了一些不错的页眉和页脚到您的打印与网址,网页标题,网站的标题,页数和时间。 尼斯。



Answer 7:

至于更多的信息进一步埃蒙Nerbonne的回答在IE渲染(IE8 +),你需要确保浏览器为标准模式。 这篇文章在MSDN上展示什么是必要的-包括在你的HTML,迫使这一问题的meta标签:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

感觉缺憾,但你有它......似乎更稳定的工作。



文章来源: Which browsers support page break manipulation using CSS and the page-break-inside element?