2024年5月

20240414172502-1
在网页打印时,有时候我们需要在打印页面的页眉或页脚中显示页码信息,以便于阅读和管理。在 CSS 中,我们可以通过一些特定的属性和伪类来实现这一功能。本文将详细介绍如何在网页打印时取得页眉页脚的页码,并提供相关的示例代码。

1. 在页眉中显示页码

要在页眉中显示页码,我们可以使用 @page 规则和 content 属性来实现。下面是一个简单的示例代码:

@page {
@top-center {
content: "Page " counter(page);
}
}
body {
counter-reset:page;
}
h1 {
page-break-before:always;
}
p {
page-break-inside:avoid;
}
CSS

在上面的示例中,我们使用 @page 规则定义了在页眉中显示页码的样式,通过 content: "Page " counter(page); 来显示页码信息。在 body 元素中使用 counter-reset: page; 来初始化页码计数器。在 h1 元素前插入分页符,避免段落中断。

2. 在页脚中显示页码

类似地,我们也可以在页脚中显示页码信息。下面是一个示例代码:

@page {
@bottom-center {
content: "Page " counter(page);
}
}
CSS

在上面的示例中,我们使用 @page 规则定义了在页脚中显示页码的样式,通过 content: "Page " counter(page); 来显示页码信息。

3. 在页眉和页脚中显示不同的页码

有时候我们需要在页眉和页脚中显示不同的页码信息,可以通过 @top-left@top-right@bottom-left@bottom-right 等属性来实现。下面是一个示例代码:

@page {
@top-left {
content: "Header Page " counter(header);
}
@bottom-right {
content: "Footer Page " counter(footer);
}
}
body {
counter-reset:header footer;
}
h1 {
page-break-before:always;
}
p {
page-break-inside:avoid;
}
CSS

在上面的示例中,我们使用 @top-left 和 @bottom-right 属性分别定义了页眉和页脚中显示不同的页码信息,通过 content: "Header Page " counter(header); 和 content: "Footer Page " counter(footer); 来显示不同的页码信息。

4. 自定义页码格式

除了显示简单的页码信息外,我们还可以自定义页码的格式,比如添加前缀、后缀、间隔符等。下面是一个示例代码:

@page {
@bottom-center {
content: "Page " counter(page,upper-roman) " of " counter(pages);
}
}
CSS

在上面的示例中,我们使用 counter(page, upper-roman) 来显示罗马数字格式的页码,使用 counter(pages) 来显示总页数。

5. 控制打印页面的页眉页脚显示与否

有时候我们需要在打印页面时控制页眉页脚的显示与否,可以通过 display 属性来实现。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
display:none;
}
}
CSS

在上面的示例中,我们使用 display: none; 来控制打印页面的页眉不显示。

6. 控制打印页面的页眉页脚位置

除了显示内容外,我们还可以控制打印页面的页眉页脚的位置,比如居中、居左、居右等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
}
@bottom-left {
content: "Footer Page " counter(page);
}
@bottom-right {
content: "Footer Page " counter(page);
}
}
CSS

在上面的示例中,我们使用 @top-center@bottom-left@bottom-right 属性来控制页眉页脚的位置。

7. 控制打印页面的页眉页脚样式

除了位置外,我们还可以控制打印页面的页眉页脚的样式,比如字体、颜色、大小等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
font-family: Arial,sans-serif;
color: #333;
font-size: 12px;
}
}
CSS

在上面的示例中,我们使用 font-family: Arial, sans-serif;color: #333;font-size: 12px; 来控制页眉的字体、颜色和大小。

8. 控制打印页面的页眉页脚边距

有时候我们需要控制打印页面的页眉页脚的边距,可以通过 margin 属性来实现。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
margin-top: 20px;
margin-bottom: 10px;
}
}
CSS

在上面的示例中,我们使用 margin-top: 20px;margin-bottom: 10px; 来控制页眉的上边距和下边距。

9. 控制打印页面的页眉页脚边框

除了边距外,我们还可以控制打印页面的页眉页脚的边框,比如线型、颜色、粗细等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
border-top: 1pxsolid#333;
border-bottom: 1pxdashed#666;
}
}
CSS

在上面的示例中,我们使用 border-top: 1px solid #333;border-bottom: 1px dashed #666; 来控制页眉的上边框和下边框。

10. 控制打印页面的页眉页脚背景

除了边框外,我们还可以控制打印页面的页眉页脚的背景颜色、图片等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
background-color: #f0f0f0;
}
}
CSS

在上面的示例中,我们使用 background-color: #f0f0f0; 来控制页眉的背景颜色。

11. 控制打印页面的页眉页脚透明度

除了背景色外,我们还可以控制打印页面的页眉页脚的透明度。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
background-color: rgba(255, 255, 255, 0.5);
}
}
CSS

在上面的示例中,我们使用 background-color: rgba(255, 255, 255, 0.5); 来控制页眉的背景透明度。

12. 控制打印页面的页眉页脚固定位置

有时候我们需要在打印页面时固定页眉页脚的位置,可以通过 position 属性来实现。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
position: fixed;
}
}
CSS

在上面的示例中,我们使用 position: fixed; 来固定页眉的位置。

13. 控制打印页面的页眉页脚浮动位置

除了固定位置外,我们还可以控制打印页面的页眉页脚的浮动位置,比如居左、居右、居中等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
position:absolute;
left: 50%;
transform: translateX(-50%);
}
}
CSS

在上面的示例中,我们使用 position: absolute;left: 50%;transform: translateX(-50%); 来控制页眉居中显示。

14. 控制打印页面的页眉页脚旋转角度

有时候我们需要在打印页面时旋转页眉页脚的角度,可以通过 transform 属性来实现。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
transform: rotate(45deg);
}
}
CSS

在上面的示例中,我们使用 transform: rotate(45deg); 来旋转页眉的角度。

15. 控制打印页面的页眉页脚隐藏

有时候我们需要在打印页面时隐藏页眉页脚,可以通过 display 属性来实现。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
display:none;
}
}
CSS

在上面的示例中,我们使用 display: none; 来隐藏页眉。

16. 控制打印页面的页眉页脚显示

除了隐藏外,我们还可以控制打印页面的页眉页脚的显示,比如显示在所有页面、只显示在第一页等。下面是一个示例代码:

@page {
@top-center {
content: "Page " counter(page);
display:block;
}
@page :first {
@top-center {
display:none;
}
}
}
CSS

在上面的示例中,我们使用 display: block; 来显示页眉,在 @page :first 中使用 display: none; 来隐藏第一页的页眉。

17. 控制打印页面的页眉页脚打印时显示

有时候我们需要在打印页面时才显示页眉页脚,可以通过 @media print 媒体查询来实现。下面是一个示例代码:

@media print {
@page {
@top-center {
content: "Page " counter(page);
}
}
}
CSS

在上面的示例中,我们使用 @media print 媒体查询来控制打印时显示页眉。

18. 控制打印页面的页眉页脚页面间距

有时候我们需要控制打印页面的页眉页脚与页面内容的间距,可以通过 margin 属性来实现。下面是一个示例代码:

@page {
margin: 20mm;
@top-center {
content: "Page " counter(page);
}
}
CSS

在上面的示例中,我们使用 margin: 20mm; 来控制页眉与页面内容的间距。

19. 控制打印页面的页眉页脚页面大小

有时候我们需要控制打印页面的页眉页脚的大小,可以通过 size 属性来实现。下面是一个示例代码:

@page {
size:A4;
@top-center {
content: "Page " counter(page);
}
}
CSS

在上面的示例中,我们使用 size: A4; 来控制页眉页脚的页面大小。
通过以上示例代码,我们可以灵活地控制打印页面的页眉页脚的显示、样式、位置等,以满足不同需求。
 


css 打印页脚
在CSS中,要为打印文档添加页脚,可以使用@media print规则来指定只在打印时应用的样式。以下是一个简单的例子,演示如何为打印文档添加页脚

<!DOCTYPE html>
<html>
<head>
<style>
@media print {
.footer {
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
}
}
</style>
</head>
<body>
<div class="content">
<p>这里是文档内容...</p>
<!-- 更多内容 -->
</div>
<div class="footer">
<p>这是页脚内容</p>
</div>
</body>
</html>
在这个例子中,.footer 类定义了页脚的样式,并且使用了position: fixed; 和 bottom: 0; 属性将页脚固定在页面底部,不会随内容的滚动而移动。这样,当文档在打印预览或打印时,.footer 中的内容会显示在每一页的底部,作为页脚。



很多系统的设计是由用户通过邮箱进行账户注册,且在注册时对邮箱格式进行了必要的判断,以避免无效邮箱的注册,除非是需要接收邮箱验证码,否则随意填写个正确格式的邮箱这种事,就像学生欺骗老师作业做完了一样常见。特别是问卷调查中需要参与者填写自己邮箱时,避免垃圾邮件骚扰用个假邮箱。
在另外一些时候,当需要批量群发邮件时,除了基于邮箱格式的过滤,也需要过滤不存在的邮箱地址。
还有一些特殊的时候,针对某一个域名或系统,需要尝试探测下该域名下有哪些邮箱,从而获得必要的邮箱列表。
以上这些情况下,都不太适合通过直接向邮箱中投递邮件的方式来判断,所以本人做了这么个小工具,在不投递邮件的情况下检测邮箱地址是否真实。该程序是基于validate_email的python模块的优化、修改。
邮箱存在返回True,不存在则返回False。
功能就是这么的单调,原理却也没那么华丽,甚至可以手动完成检测操作。总共四步:
1、通过nslookup获取邮箱地址中主域名的MX记录;
2、用SMTP扩展协议的ehlo与MX服务器建立亲切而不失友好的连接;
3、使用mail FROM:向MX服务器指定发件人的身份是空;
4、通过rcpt TO:命令查看服务器的返回结果,如果邮箱地址存在,则返回代码是250,如果不存在,则通常情况下返回550,也有个别邮件服务商返回554。
同一个邮件服务商的MX记录有多个,部分邮件服务商的MX服务器会出现对同一个邮箱地址返回结果不同的情况,实际上,倘若其中一个MX服务器返回邮箱不存在,则该邮箱不存在。这是唯一一个需要说明的点。
Just Do IT


图标官网:Open Source Icon Sets - Iconify

组件式引入, 结合iconify-api在线使用

安装包 @iconify/vue

npm install --save-dev @iconify/vue

在vue页面中引入组件

import { Icon } from '@iconify/vue';

通过组件即可使用

<Icon icon="mdi-light:home" />
v2-3aa8d384274e34aab5ff82c0957ce169_720w.webp

我们就可以使用这个图标了

<Icon icon="ep:briefcase" />