📅  最后修改于: 2023-12-03 15:00:06.150000             🧑  作者: Mango
在CSS中,@page规则用来设置打印文档的样式。在打印文档时,浏览器会将页面渲染到纸张上,而@page规则可以控制页眉、页脚、页边距和页面大小等属性,以便更好地适应打印需求。
@page规则的语法如下:
@page :pseudo-class {
margin:4cm;
size:8.5in 11in;
}
其中,:pseudo-class表示可选的伪类选择器。目前,CSS规范中定义了以下几个伪类选择器:
这些伪类选择器可以用来控制部分或全部页面的样式。比如,下面的代码设置第一页和空白页面的页边距:
@page :first,
@page :blank {
margin:2cm;
}
@page规则支持以下几个属性:
其中,size和margin应该是最常用的两个属性。size可以设置页面的尺寸,如A4、Letter等,也可以设置页面的宽度和高度,如8.5in 11in。而margin用来设置页面的边距,可以是一个值,如4cm,也可以是四个值,如2cm 1cm 3cm 1cm,表示上、右、下、左四个方向的边距。
@page {
size: A4;
margin: 2cm;
}
@media print {
/* 只适用于打印时 */
body {
margin: 0;
padding: 0;
}
header, footer {
position: fixed;
left: 0;
right: 0;
color: #777;
font-size: 10pt;
}
header {
top: 0;
border-bottom: 0.1pt solid #aaa;
}
footer {
bottom: 0;
border-top: 0.1pt solid #aaa;
}
}
上面的代码设置了A4大小的纸张和2cm的页边距,同时使用@media print来设置打印时的样式。header和footer使用position:fixed来固定在页面上,同时设置了颜色和字号,header还画了一条底部边框,footer画了一条顶部边框。
@page规则是CSS中一个很有用的特性,可以让开发者更好地控制打印时的样式,从而得到更好的打印效果。掌握@page规则的使用,可以加强我们的网页设计能力,提高我们的工作效率。