使用css媒体类型打印特定div内容?

时间:2013-11-27 11:01:56

标签: html css printing media-type

我的html包含如下所示的框架

  <frameset rows="60,*" border="0" frameborder="0">
    <frame name="frameA">
    <frameset cols="120,*" >
      <frame name="frameB" frameborder=0 >
      <frame name="frameC">
    </frameset>
  </frameset>

在内部框架C中,我的div为id“myDivToPrint”。我想在用户点击浏览器打印时,   它只打印div myDivToPrint的内容。这是我的相关CSS

  

CSS

@media print {
    #myDivToPrint {
        background-color: white;
        height: 100%;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        margin: 0;
        padding: 15px;
        font-size: 14px;
        line-height: 18px;
    }
}
  

HTML

 <div  id="myDivToPrint" class="page-container myDivToPrint">
  </div>

但它似乎对打印/打印预览没有任何影响(firefox仅显示所有帧内容和chrome显示 打印预览下的顶部框架内容)。有什么想法吗?

上述方法的参考: - BC Print the contents of a DIV

的帖子

2 个答案:

答案 0 :(得分:1)

您必须隐藏不想打印的元素。像这样:

@media print {
    #myDivToPrint {
       ...
    }

    #elementYouDontWantToPrintId {
       display:none;
    }

}

答案 1 :(得分:1)

使用javascript方便的新窗口。

        function printout() {

        var newWindow = window.open();
        newWindow.document.write(document.getElementById("output").innerHTML);
        newWindow.print();
    }