似乎无法覆盖 IE11 打印边距

Mhy*_*que 3 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>
Run Code Online (Sandbox Code Playgroud)

并在我的内容中调用它:

<div class="Section1">
<table>
...
...
</table>
</div>
Run Code Online (Sandbox Code Playgroud)

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

小智 5

唯一认为你做错的是使用 IE。我遇到了同样的问题,然后我发现在 @media 查询中使用 @page 由于某种原因在 IE 中不起作用。从@media 内部删除@page 并直接放置它有帮助。

@page {
    size: A4 landscape;
    margin: 4mm;
}
@page :header { content: none ;} 
@page :footer { content: none ;} 
Run Code Online (Sandbox Code Playgroud)

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