如何使用HTML在文档的每个打印页上打印页眉和页脚?

是否可以在每个打印页面上打印带有自定义页眉和页脚的HTML页面?

我希望将红色,宋体,大小为16pt的单词“UNCLASSIFIED”添加到每个打印页面的顶部和底部,而不管内容如何。

为了澄清,如果文档打印到5页上,每个页面应该有自定义页眉和页脚。

有谁知道这是否可以使用HTML / CSS?


如果您将要设置为页脚的元素设置为position:fixed和bottom:0,当页面打印时,它将在每个打印页面的底部重复该元素。 这同样适用于标题元素,只需设置top:0即可。

例如:

<div class="divFooter">UNCLASSIFIED</div>

CSS:

@media screen {
  div.divFooter {
    display: none;
  }
}
@media print {
  div.divFooter {
    position: fixed;
    bottom: 0;
  }
}

我相信正确的答案是HTML 5和CSS3不支持在print介质中print页眉和页脚。

虽然你可以用下面的方法来模拟它:

  • 固定位置块
  • 他们每个人都有缺陷,阻止他们成为理想的通用解决方案。


    我花了我一天中最好的一半时间来提出一个实际为我工作的解决方案,并且认为我会分享我所做的。 上述解决方案存在的问题是,我的所有段落元素都会与页面底部想要的页脚重叠。 为了解决这个问题,我使用了下面的CSS:

    footer {
      font-size: 9px;
      color: #f00;
      text-align: center;
    }
    
    @page {
      size: A4;
      margin: 11mm 17mm 17mm 17mm;
    }
    
    @media print {
      footer {
        position: fixed;
        bottom: 0;
      }
    
      .content-block, p {
        page-break-inside: avoid;
      }
    
      html, body {
        width: 210mm;
        height: 297mm;
      }
    }
    

    pcontent-blockpage-break-inside对我来说至关重要。 任何时候我有一个跟随h*p ,我都将它们都包装在div class = "content-block">以确保它们保持在一起并且不会中断。

    我希望有人认为这很有用,因为我花了大约3个小时才弄明白(我也是CSS / HTML的新手,所以就是这样...)

    编辑

    根据评论中的请求,我添加了一个示例HTML文档。 您需要将其复制到HTML文件中,将其打开,然后选择打印页面。 打印预览应该显示这个工作。 它在我的最终版Firefox和IE中运行,但是Chrome使得字体足够小,可以放在一个页面上,所以它在那里不起作用。

    footer {
      font-size: 9px;
      color: #f00;
      text-align: center;
    }
    
    @page {
      size: A4;
      margin: 11mm 17mm 17mm 17mm;
    }
    
    @media print {
      footer {
        position: fixed;
        bottom: 0;
      }
    
      .content-block, p {
        page-break-inside: avoid;
      }
    
      html, body {
        width: 210mm;
        height: 297mm;
      }
    }
    <!DOCTYPE html>
    <html>
      <head></head>
      <body>
        <h1>
          Example Document
        </h1>
        <div>
          <p>
            This is an example document that shows how to have a footer that repeats at the bottom of every page, but also isn't covered up by paragraph text.
          </p>
        </div>
        <div>
          <h3>
            Example Section I
          </h3>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vestibulum metus sit amet urna lobortis sollicitudin. Nulla mattis purus porta lorem tempor, a cursus tellus facilisis. Aliquam pretium nibh vitae elit placerat vestibulum. Duis felis ipsum, consectetur id pellentesque in, porta sit amet sapien. Ut tristique enim sem, laoreet bibendum nisl fermentum vitae. Ut aliquet sem ac lorem malesuada sodales. Fusce iaculis ipsum ex, in mollis dolor dapibus sit amet. In convallis felis in orci fermentum gravida a vel orci. Sed tincidunt porta nibh sit amet varius. Donec et odio eget odio tempus auctor ac eget ex.
            
            Pellentesque vitae augue sed purus dictum ultricies at eu neque. Nullam ut mauris a purus tristique euismod. Sed elementum, leo id placerat congue, leo tellus pharetra orci, eget ultricies odio quam sit amet ipsum. Praesent feugiat, lorem at commodo egestas, felis ligula pharetra sapien, in placerat mauris nisi aliquet tortor. Quisque nibh lectus, laoreet vel mollis a, tincidunt vel ipsum. Sed blandit vehicula sollicitudin. Donec et sapien justo. Ut fermentum ipsum imperdiet diam condimentum, eget varius sapien dictum. Sed sed elit egestas libero maximus finibus eu eget massa.
            
            Duis finibus vestibulum finibus. Nunc lobortis lacus ut libero mattis tempor. Nulla a nunc at nisl elementum congue. Nunc eu consectetur mauris. Etiam non placerat massa. Etiam eu urna in metus tempus molestie sed eget diam. Nunc sem velit, elementum sit amet fringilla in, dictum sit amet sem. Quisque convallis faucibus purus dignissim dictum. Sed semper, mi vel accumsan sollicitudin, massa massa pellentesque justo, eget auctor sapien enim ac elit.
            
            Nullam turpis augue, lacinia ut libero ac, rhoncus bibendum ligula. Mauris ullamcorper maximus turpis, a consequat turpis bibendum sit amet. Nam vitae dui nec velit hendrerit faucibus. Vivamus nunc diam, porta tristique augue nec, dignissim venenatis felis. Proin mattis id risus in feugiat. Etiam cursus faucibus nisi. In in nisi ullamcorper, convallis lectus et, ornare nulla. Cras tristique nulla eros, non maximus odio imperdiet eu. Nullam egestas dignissim est, et fringilla odio pretium eleifend. Nullam tincidunt sapien fermentum, rhoncus risus ac, ullamcorper libero. Vestibulum bibendum molestie dui nec tincidunt. Mauris tempus, orci ut congue vulputate, erat orci aliquam orci, sed eleifend orci dui sed tellus. Pellentesque pellentesque massa vulputate urna pretium, consectetur pulvinar orci pulvinar.
            
            Donec aliquet imperdiet ex, et tincidunt risus convallis eget. Etiam eu fermentum lectus, molestie eleifend nisi. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam dignissim, erat vitae congue molestie, ante urna sagittis est, et sagittis lacus risus vitae est. Sed elementum ipsum et pellentesque dignissim. Sed vehicula feugiat pretium. Donec ex lacus, dictum faucibus lectus sit amet, tempus hendrerit ante. Ut sollicitudin sodales metus, at placerat risus viverra ut.
            
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vestibulum metus sit amet urna lobortis sollicitudin. Nulla mattis purus porta lorem tempor, a cursus tellus facilisis. Aliquam pretium nibh vitae elit placerat vestibulum. Duis felis ipsum, consectetur id pellentesque in, porta sit amet sapien. Ut tristique enim sem, laoreet bibendum nisl fermentum vitae. Ut aliquet sem ac lorem malesuada sodales. Fusce iaculis ipsum ex, in mollis dolor dapibus sit amet. In convallis felis in orci fermentum gravida a vel orci. Sed tincidunt porta nibh sit amet varius. Donec et odio eget odio tempus auctor ac eget ex.
            
            Duis finibus vestibulum finibus. Nunc lobortis lacus ut libero mattis tempor. Nulla a nunc at nisl elementum congue. Nunc eu consectetur mauris. Etiam non placerat massa. Etiam eu urna in metus tempus molestie sed eget diam. Nunc sem velit, elementum sit amet fringilla in, dictum sit amet sem. Quisque convallis faucibus purus dignissim dictum. Sed semper, mi vel accumsan sollicitudin, massa massa pellentesque justo, eget auctor sapien enim ac elit.
            
            Nullam turpis augue, lacinia ut libero ac, rhoncus bibendum ligula. Mauris ullamcorper maximus turpis, a consequat turpis bibendum sit amet. Nam vitae dui nec velit hendrerit faucibus. Vivamus nunc diam, porta tristique augue nec, dignissim venenatis felis. Proin mattis id risus in feugiat. Etiam cursus faucibus nisi. In in nisi ullamcorper, convallis lectus et, ornare nulla. Cras tristique nulla eros, non maximus odio imperdiet eu. Nullam egestas dignissim est, et fringilla odio pretium eleifend. Nullam tincidunt sapien fermentum, rhoncus risus ac, ullamcorper libero.
          </p>
        </div>
        <div class="content-block">
          <h3>Example Section II</h3>
          <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vestibulum metus sit amet urna lobortis sollicitudin. Nulla mattis purus porta lorem tempor, a cursus tellus facilisis. Aliquam pretium nibh vitae elit placerat vestibulum. Duis felis ipsum, consectetur id pellentesque in, porta sit amet sapien. Ut tristique enim sem, laoreet bibendum nisl fermentum vitae. Ut aliquet sem ac lorem malesuada sodales. Fusce iaculis ipsum ex, in mollis dolor dapibus sit amet. In convallis felis in orci fermentum gravida a vel orci. Sed tincidunt porta nibh sit amet varius. Donec et odio eget odio tempus auctor ac eget ex.
            
            Pellentesque vitae augue sed purus dictum ultricies at eu neque. Nullam ut mauris a purus tristique euismod. Sed elementum, leo id placerat congue, leo tellus pharetra orci, eget ultricies odio quam sit amet ipsum. Praesent feugiat, lorem at commodo egestas, felis ligula pharetra sapien, in placerat mauris nisi aliquet tortor. Quisque nibh lectus, laoreet vel mollis a, tincidunt vel ipsum. Sed blandit vehicula sollicitudin. Donec et sapien justo. Ut fermentum ipsum imperdiet diam condimentum, eget varius sapien dictum. Sed sed elit egestas libero maximus finibus eu eget massa.
          </p>
        </div>
        <footer>
          This is the text that goes at the bottom of every page.
        </footer>
      </body>
    </html>
    链接地址: http://www.djcxy.com/p/23729.html

    上一篇: How to use HTML to print header and footer on every printed page of a document?

    下一篇: CSS to make HTML page footer stay at bottom of the page with a minimum height