当前位置: 首页 > 面试题库 >

CSS页面中断无法在所有浏览器中正常运行

彭朝
2023-03-14
问题内容

我很难在大多数浏览器中使用此功能,但IE(甚至在IE6中也可以正常运行)和Opera除外。

Firefox可以正确分隔div,但仅打印第一页。

Chrome和Safari仅将分页符应用于最后一个div。

如何才能在所有浏览器上正常工作?

HTML:

<div id="leftNav">
  <ul>
    <!--links etc-->
  </ul>
</div>
<div id="mainBody">
 <div id="container">
  <div class="pageBreak">
   <!--content-->
  </div>
  <div class="pageBreak">
   <!--content-->
  </div>
  <div class="pageBreak">
   <!--content-->
  </div>
 </div>
</div>

具有ID #leftNav和的div #mainBody设置为float:left,因此显示效果很好。

我只想打印.pageBreak类,#leftNav#mainBody使用CSS 隐藏和的其余部分。

CSS:

@media print
{
 #leftNav
 {
  display:none;
 }
 #mainBody
 {
  border:none;
  margin:none;
  padding:none;
 }
}

问题答案:

父元素不能float放在它们上面。

float:none在所有父元素上进行设置可以page-break-before:always正常工作。

其他可能中断的事情page-break是:

  • page-break在内部表中使用
  • 浮动元素
  • inline-block 元素
  • 带边框的块元素


 类似资料:
  • 我在Ubuntu 18.04 64位上有Apache netbeans 10。 我创建了一个简单的HTML5/JavaScript项目,但当我在通知区域运行它时,出现了错误: 无法运行/usr/bin/google-chrome 我已经手动安装了chrome netbeans扩展,但什么也没有。我对火狐和默认的网络浏览器也有同样的问题。哪一个可能是问题所在? 最后,当我从shell运行二进制文件n

  • 问题内容: 我在“ Ajax加载程序映像”中有问题。在Firefox上运行正常,但在chrome上,ajax加载程序映像似乎没有。 我在检查任何属性产品时会在边栏上有一些属性,产品会根据它进行更改,并且在ajax完成之前会生成一个预加载器图像。我正在做的是在我首先检查任何属性时在div html中插入gif图像并使用.show()方法,并且在ajax成功之后,我将div html设置为null并将

  • Localhost很好,但上传到服务器时不工作 %pdf-1.3 1 0 obj<>Endobj2 0 obj<>Endobj3 0 obj<>>/Mediabox[0.000 0.000 595.280 841.890]>>Endobj4 0 obj<>stream x 2 300 p@&b m-l l,br b 5 jr k drr f b k endstream endobj 8 0 obj

  • 问题内容: 我需要文本选择开始处的像素坐标(在页面上的任何地方,而不是文本区域中)。 我尝试使用光标坐标,但是效果不佳,因为光标坐标和选择的开头并不总是相同的(例如,当用户将鼠标拖到文本上时)。 希望有人能解决! 问题答案: 在IE> = 9和非IE浏览器(Firefox4+,自2009年初发布的WebKit浏览器,Opera11,也许更早)中,可以使用的方法。在IE4-10中,您可以使用的和属性

  • Mocha在浏览器中运行。每个版本的Mocha都将拥有新版本./mocha.js并./mocha.css在浏览器中使用。 特定于浏览器的方法 以下方法仅在浏览器上下文中起作用: mocha.allowUncaught() :如果被调用,错误处理程序将不会吸收未捕获的错误。 典型的设置可能类似于下面,我们呼吁mocha.setup('bdd')使用BDD加载测试脚本,运行之前的界面onload与mo