似乎无法覆盖IE11打印边距

时间:2014-11-07 11:37:57

标签: css printing

我正在打印一个打印页面,这让我很开心。当我打印特定页面时,我似乎无法覆盖IE11默认页面设置。

也许它无法完成,但从我用谷歌搜索并理解,应该是可能的。

我有这种风格:

<style type="text/css">
@media print {

@page Section1{ 
size:21.0cm 29.7cm;
margin:1cm 1cm 1cm 1cm;
}
<!--@page { margin-left: 1cm; margin-right:1cm; margin-top:1cm; margin-bottom:1cm; }-->
@page :header { content: none ;} 
@page :footer { content: none ;} 
}

div.Section1 {
page:Section1;
}

body, td {
margin: 0px;
color:#000000;
background:#FFFFFF;

}
h1 {
font-size: 16pt;
}
.header {
font-size: 10pt;
font-weight: bold;
}
.header2 {
  font-weight: bold;
  vertical-align: top;
  text-align:center;
}
.total {
  font-weight: bold;
  text-align:center;
}
.total_right {
  font-weight: bold;
  text-align:right;
}

.noborder {
text-align:center;
border:none;    
}
.text {
  text-align:center;
}

.text_right {
  text-align:right;
}
.text_left {
  text-align:left;
}
.onlytopcenter {
border-top-color:#000000;
border-bottom:none;
border-left:none;
border-right:none;
text-align:center
}

td {
border: solid 1px;
border-color:#CCCCCC;
padding:1px;
font-family: Arial;
font-size: 7pt;
}
table {
border-collapse: collapse;
}

</style>

并在我的内容上调用它:

<div class="Section1">
<table>
...
...
</table>
</div>

当我打印页面时,我不断获得19,05 mm的默认边距(我认为)。我可以手动更改它,但在许多用户使用的系统中这是不行的。我做错了什么?

1 个答案:

答案 0 :(得分:1)

唯一认为你做错的是使用IE浏览器。 我遇到了同样的麻烦,然后我发现在@media查询中使用@page由于某些原因在IE中无效。从@media中删除@page并将其直接放入帮助。

@page {
    size: A4 landscape;
    margin: 4mm;
}
@page :header { content: none ;} 
@page :footer { content: none ;} 

现在,IE正确设置打印边距。