📅  最后修改于: 2023-12-03 14:51:51.685000             🧑  作者: Mango
在大多数情况下,网页被设计用来在屏幕上展示,但有时候我们需要将网页打印出来。为了让网页在打印时能够更好地适应纸张,我们需要使用 CSS 媒体查询来为打印样式设置样式规则。
首先,了解一下什么是媒体查询。CSS 媒体查询是一个用于检测特定设备或浏览器视口参数的 CSS 技术。我们可以使用媒体查询为不同的设备或参数定义不同的样式规则。
下面是一个简单的媒体查询示例:
@media print {
* {
color: black !important;
background: none !important;
}
a, a:visited {
color: #444 !important;
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
img {
max-width: 100% !important;
}
body {
margin: 0 !important;
padding: 0 !important;
line-height: 1.4;
}
@page {
margin: 0;
}
}
上面的代码是一个针对打印样式的媒体查询。它使用了 @media print
语句来指定在打印时应用的样式规则。例如,为了确保打印时链接可读,我们将其背景设置为 none
,并将其颜色设置为黑色,使用 !important
以确保规则生效。
为了创建可打印的样式表,我们可以按照以下步骤进行操作。
创建一个新的样式表,并将其命名为 print.css
。
在 print.css
文件中,使用媒体查询语句 @media print
来指定在打印时应用的样式规则。
例如,为了确保打印时页面的背景不会打印出来,我们可以将其设置为灰色:
@media print {
body {
background-color: #f3f3f3;
}
}
@media print {
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
}
<head>
标签中,使用以下代码来引用打印样式表:<link rel="stylesheet" href="print.css" media="print">
这将确保打印样式表仅在打印时使用。
使用 CSS 媒体查询可以轻松创建可打印的网页。我们可以使用媒体查询语句 @media print
来为打印样式表指定样式规则,并确保这些规则仅在打印时生效。通过为表格、链接、背景等添加样式规则,可以使网页在打印时更易于阅读和使用。