CSS Web打印页眉

CSS Web打印页眉

CSS Web打印页眉

在网页打印时,我们经常需要在打印页面的顶部添加页眉信息,例如公司名称、日期、页码等。通过CSS,我们可以很容易地实现这一功能。本文将详细介绍如何使用CSS来创建Web打印页眉,并提供多个示例代码供参考。

1. 使用@page规则定义页眉

在CSS中,我们可以使用@page规则来定义打印页面的样式,包括页眉、页脚等。通过设置margin、padding、content等属性,我们可以自定义打印页面的布局。下面是一个简单的示例代码,演示如何定义一个包含公司名称和日期的页眉:

@page {
  margin-top: 50px;
}

@page {
  @top-center {
    content: "Geek Docs";
  }
  @top-right {
    content: "Date: " attr(data-date);
  }
}

在上面的示例中,我们使用@page规则定义了一个页眉,其中包含公司名称”Geek Docs”和日期信息。我们通过设置margin-top属性来控制页眉距离页面顶部的距离,通过@top-center和@top-right来设置页眉内容的位置。

2. 添加页眉内容

除了在@page规则中定义页眉外,我们还可以在文档中直接添加页眉内容。下面是一个示例代码,演示如何在文档中添加自定义的页眉内容:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Header Example</title>
  <style>
    @media print {
      .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #f0f0f0;
        padding: 10px;
        text-align: center;
      }
    }
  </style>
</head>
<body>
  <div class="header">
    <h1>Geek Docs</h1>
    <p>Date: 2022-01-01</p>
  </div>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们使用@media print媒体查询来定义打印时显示的样式。通过设置.header元素的position为fixed,我们可以将页眉固定在页面顶部。在.header元素中添加公司名称和日期信息,即可实现自定义的页眉内容。

3. 打印页眉中添加页码

在打印页面时,通常需要在页眉或页脚中添加页码信息。下面是一个示例代码,演示如何在页眉中添加页码信息:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Header with Page Number Example</title>
  <style>
    @media print {
      .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #f0f0f0;
        padding: 10px;
        text-align: center;
      }
      .page:after {
        content: counter(page);
      }
    }
  </style>
</head>
<body>
  <div class="header">
    <h1>Geek Docs</h1>
    <p>Date: 2022-01-01</p>
    <p>Page: <span class="page"></span></p>
  </div>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们使用counter()函数和:after伪元素来添加页码信息。通过设置.page元素的content为counter(page),即可在打印页眉中显示当前页码信息。

4. 打印页面中添加Logo

除了文本信息外,我们还可以在打印页眉中添加Logo等图片信息。下面是一个示例代码,演示如何在页眉中添加Logo图片:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Header with Logo Example</title>
  <style>
    @media print {
      .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #f0f0f0;
        padding: 10px;
        text-align: center;
      }
      .logo {
        width: 100px;
        height: auto;
      }
    }
  </style>
</head>
<body>
  <div class="header">
    <img src="logo.png" alt="Geek Docs Logo" class="logo">
    <h1>Geek Docs</h1>
    <p>Date: 2022-01-01</p>
    <p>Page: <span class="page"></span></p>
  </div>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过添加img元素来引入Logo图片,并设置.logo元素的样式来控制Logo的大小。通过在页眉中添加Logo图片,可以使打印页面更加专业和个性化。

5. 打印页面中添加水印

除了页眉信息外,我们还可以在打印页面中添加水印信息,例如“Confidential”、“Draft”等。下面是一个示例代码,演示如何在打印页面中添加水印信息:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Header with Watermark Example</title>
  <style>
    @media print {
      body {
        background-image: url('watermark.png');
        background-repeat: repeat;
        background-size: 200px;
        background-position: center;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过设置body元素的background-image属性来添加水印图片。通过设置background-repeat、background-size和background-position等属性,可以控制水印的重复方式、大小和位置。

6. 打印页面中添加自定义样式

在打印页面时,我们可以根据需要添加自定义的样式,例如修改字体、颜色、间距等。下面是一个示例代码,演示如何在打印页面中添加自定义样式:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Custom Print Style Example</title>
  <style>
    @media print {
      body {
        font-family: Arial, sans-serif;
        color: #333;
        line-height: 1.5;
      }
      h1 {
        color: #007bff;
      }
      p {
        font-size: 14px;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过@media print媒体查询来定义打印时显示的样式。通过设置body元素的font-family、color和line-height等属性,可以修改打印页面的字体、颜色和行高。通过设置h1元素和p元素的样式,可以自定义标题和段落的样式。

7. 打印页面中添加分页符

在打印长页面时,我们通常需要在每页的末尾添加分页符,以便更好地控制打印页面的分页。下面是一个示例代码,演示如何在打印页面中添加分页符:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Page Break Example</title>
  <style>
    @media print {
      .page-break {
        page-break-after: always;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
  <div class="page-break"></div>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac justo nec odio ultricies lacinia.</p>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过设置.page-break元素的page-break-after属性为always来添加分页符。在需要分页的地方插入.page-break元素,即可实现在打印页面中添加分页符的效果。

8. 打印页面中添加动态内容

在打印页面时,有时我们需要根据用户输入或其他条件来动态生成内容。下面是一个示例代码,演示如何在打印页面中添加动态内容:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Dynamic Print Content Example</title>
  <style>
    @media print {
      .dynamic-content {
        display: none;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <div class="dynamic-content">
    <p>Dynamic Content: Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
  </div>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过设置.dynamic-content元素的display为none来隐藏动态内容。在需要显示动态内容的地方根据条件动态添加.dynamic-content元素,即可实现在打印页面中添加动态内容的效果。

9. 打印页面中添加表格

在打印页面中,表格是常见的内容形式之一。下面是一个示例代码,演示如何在打印页面中添加表格:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print Table Example</title>
  <style>
    @media print {
      table {
        width: 100%;
        border-collapse: collapse;
      }
      th, td {
        border: 1px solid #333;
        padding: 5px;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <table>
    <tr>
      <th>Name</th>
      <th>Age</th>
    </tr>
    <tr>
      <td>John</td>
      <td>30</td>
    </tr>
    <tr>
      <td>Jane</td>
      <td>25</td>
    </tr>
  </table>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过设置table元素和th、td元素的样式来定义打印页面中的表格。通过设置border、padding等属性,可以控制表格的边框和内边距,使表格在打印页面中显示清晰。

10. 打印页面中添加列表

除了表格外,列表也是常见的内容形式之一。下面是一个示例代码,演示如何在打印页面中添加列表:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Print List Example</title>
  <style>
    @media print {
      ul {
        list-style: none;
        padding: 0;
      }
      li {
        margin-bottom: 5px;
      }
    }
  </style>
</head>
<body>
  <h1>Geek Docs</h1>
  <p>Date: 2022-01-01</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
</body>
</html>

代码运行结果:

CSS Web打印页眉

在上面的示例中,我们通过设置ul元素和li元素的样式来定义打印页面中的列表。通过设置list-style、padding、margin等属性,可以控制列表的样式和间距,使列表在打印页面中显示清晰。

通过以上示例代码,我们可以看到如何使用CSS来创建Web打印页眉,并在打印页面中添加各种内容,包括文本、图片、水印、分页符、表格、列表等。通过灵活运用CSS,我们可以定制出符合需求的打印页面,提升用户体验和页面展示效果。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程