Javascript CSS打印-奇怪的工件只出现在Chrome中
我目前正在开发一个JS/HTML应用程序,需要打印一个HTML页面。页面的布局如下所示Javascript CSS打印-奇怪的工件只出现在Chrome中,javascript,html,css,google-chrome,Javascript,Html,Css,Google Chrome,我目前正在开发一个JS/HTML应用程序,需要打印一个HTML页面。页面的布局如下所示 <div class="customerOffer"> <div class="buttonHeader"><span class="backButton">Back</span><span class="printButton">Print</span></div> <div c
<div class="customerOffer">
<div class="buttonHeader"><span class="backButton">Back</span><span class="printButton">Print</span></div>
<div class="panel">
<div class="panelTitle"><span class="text">Title</span></div>
<div class="panelBox">
<div class="column">
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
</div>
<div class="column right">
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row"><span class="label b">Text</span><span class="inputValueF">£0.00</span></div>
</div>
</div>
</div>
<div class="panel">
<div class="panelTitle"><span class="text">Title</span></div>
<div class="panelBox">
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="separator"></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row important"><span class="label b">Text</span><span class="inputValueF b">£0.00</span></div>
</div>
</div>
<div class="panel">
<div class="panelTitle"><span class="text">Title</span></div>
<div class="panelBox">
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="separator"></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row coloured"><span class="label">Text</span><span class="inputValueF">£0.00</span></div>
<div class="row important"><span class="label b">Text</span><span class="inputValueF b">£0.00</span></div>
</div>
</div>
</div>
当我在Firefox中打印此页面时,我得到了预期的输出。
但是当我用Chrome打印时,你可以在第一页的最底部看到一个幻影panelTitle元素。我只能用内的分页符来重现这一点:避免代码>CSS,否则打印将在其中一个面板内中断。
有人知道如何删除这个虚拟元素吗?看起来firefox和chrome打印版的默认页边距不同,元素之间的间距也不一致
可能使用来确保新表从一个新页面开始,并且不会在两个页面之间拆分。结果表明,将边距
属性与@page
指令一起使用时,会出现此问题
在CSS的底部,我有
@page{
size: auto; /* auto is the initial value */
/* this affects the margin in the printer settings */
margin: 5mm 0mm 5mm 0mm;
}
如果我将边距减少到5mm
,则问题将消失,但这显然会产生其他问题。幸运的是,我测试过的打印机似乎不会打印(默认情况下至少)距页面边缘5毫米的内容,因此在实际打印文档时不会出现该内容。我已经在使用内部分页符:避免
将第三个面板放置在新页面上。
@page{
size: auto; /* auto is the initial value */
/* this affects the margin in the printer settings */
margin: 5mm 0mm 5mm 0mm;
}