将div放在介质页打印区域内的绝对位置

时间:2014-03-03 15:48:47

标签: html css

我需要打印一个固定大小的页面和一个绝对位置div:

.page 
{
    width: 21cm;
    min-height: 29.7cm;
    padding: 1.2cm;
    margin: 1cm auto;
    border: 1px #D3D3D3 solid;
    border-radius: 5px;
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    position: relative;
}

要打印的媒体类:

@page 
{
    size: A4;
    margin: 0; 
}

@media print {
   .page {
    margin: 0;
    border: initial;
    border-radius: initial;
    width: initial;
    min-height: initial;
    box-shadow: initial;
    background: initial;
    page-break-after: always;
    position: relative;
  }
}

div:

<div id="proc_comp">Printed by Computer</div>

#proc_comp
{
   position: absolute;
   left: 190px;
   bottom: 15px;
   font-size: 0.65em;
}

但是div,当我尝试在浏览器中打印时,它与HTML布局不会出现在同一个地方,为什么?

感谢。

1 个答案:

答案 0 :(得分:0)

出现错误的定位,因为您在#proc_comp规则中使用基于像素的放置,而页面使用的是A4格式(非基于像素的布局)。您可以尝试使用以下替代

#proc_comp {
  position: absolute;
  left: 50%;
  top: 50px;
  margin-left: -5em;
  margin-top: -1em;
}

您可能需要使用负边距来调整显示消息的高度和宽度,使其显示为居中。