- CSS 教程
- CSS - 首页
- CSS - 路线图
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 导入
- CSS - 单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图片
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - 块级边框
- CSS - 内联边框
- CSS - 外边距
- CSS - 列表
- CSS - 内边距
- CSS - 光标
- CSS - 轮廓
- CSS - 尺寸
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉菜单
- CSS - 可见性
- CSS - 溢出
- CSS - 清除浮动
- CSS - 浮动
- CSS - 箭头
- CSS - 调整大小
- CSS - 引号
- CSS - 顺序
- CSS - 定位
- CSS - 连字符
- CSS - 悬停
- CSS - 显示
- CSS - 焦点
- CSS - 缩放
- CSS - 位移
- CSS - 高度
- CSS - 连字符字符
- CSS - 宽度
- CSS - 不透明度
- CSS - Z-index
- CSS - 底部
- CSS - 导航栏
- CSS - 覆盖层
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - 属性选择器
- CSS - 组合器
- CSS - 根元素
- CSS - 盒模型
- CSS - 计数器
- CSS - 剪裁
- CSS - 书写模式
- CSS - Unicode-bidi
- CSS - min-content
- CSS - 全部
- CSS - 内嵌
- CSS - 隔离
- CSS - 溢出滚动
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - 指针事件
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - 最大块级尺寸
- CSS - 最小块级尺寸
- CSS - 混合模式
- CSS - 最大内联尺寸
- CSS - 最小内联尺寸
- CSS - 偏移量
- CSS - 强调色
- CSS - 用户选择
- CSS 高级
- CSS - 网格
- CSS - 网格布局
- CSS - Flexbox
- CSS - 可见性
- CSS - 定位
- CSS - 层
- CSS - 伪类
- CSS - 伪元素
- CSS - @规则
- CSS - 文字特效
- CSS - 分页媒体
- CSS - 打印
- CSS - 布局
- CSS - 验证
- CSS - 图片精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS3 - 教程
- CSS - 圆角
- CSS - 边框图片
- CSS - 多重背景
- CSS - 颜色
- CSS - 渐变
- CSS - 盒阴影
- CSS - 盒装饰中断
- CSS - 光标颜色
- CSS - 文本阴影
- CSS - 文本
- CSS - 2D 变换
- CSS - 3D 变换
- CSS - 过渡
- CSS - 动画
- CSS - 多列
- CSS - 盒尺寸
- CSS - 工具提示
- CSS - 按钮
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 函数
- CSS - 数学函数
- CSS - 遮罩
- CSS - 形状
- CSS - 图片样式
- CSS - 特效性
- CSS - 自定义属性
- CSS 响应式
- CSS RWD - 简介
- CSS RWD - 视口
- CSS RWD - 网格视图
- CSS RWD - 媒体查询
- CSS RWD - 图片
- CSS RWD - 视频
- CSS RWD - 框架
- CSS 工具
- CSS - PX 到 EM 转换器
- CSS - 颜色选择器和动画
- CSS 资源
- CSS - 有用资源
- CSS - 讨论
CSS 打印
CSS 打印涉及使用特定的 CSS 规则和属性来控制网页在打印时的格式。通常,对于任何可打印的网页版本,样式都将使用浅色。因为黑色、红色等深色会消耗打印机更多的墨水。在本教程中,我们将学习如何使用 CSS 设计一个打印友好的网页。
目录
打印友好页面的样式
以下是可用于创建打印友好页面的关键样式
- 简化布局: 通过将display 设置为 none,移除不必要的元素,例如侧边栏、导航菜单、广告部分和交互式内容。
- 移除背景颜色: 建议移除背景颜色(或设置浅色)并将文本颜色设置为黑色,以节省墨水。
- 调整字体大小和样式: 使用易于阅读的字体大小和样式,通常是更大、更清晰的字体,例如衬线字体。
- 显示链接的 URL: 打印包含超链接的页面时,不会显示该链接的确切 URL。因此,您需要在打印版本中用确切的链接替换它。
- 管理分页符: 确保控制内容在页面间的断开位置,避免将重要的部分或标题拆分到不同的页面。
我们可以通过多种方式为页面的打印版本设置样式。我们可以为打印版本显式声明一个外部样式表,或者可以在内部样式表中使用媒体查询。让我们来看看。
使用打印样式表
您可以为打印需求显式地创建一个外部样式表,并将其链接到您的代码。您只需要将media 属性的值设置为链接标签的“print”。将以下标签添加到 HTML 文档的 head 部分。
<link href="/path/to/print.css" media="print" rel="stylesheet" />
print.css 将如下所示
body{ background-color: white; color: black; } .navbar{ display: none; }
使用媒体查询和 @page
CSS 媒体查询 可用于在内部样式表中本身设置打印版本的样式。
@media print { body{ background-color: white; color: black; } .navbar{ display: none; } }
CSS @page 规则用于控制打印内容的大小、方向和边距等方面。这对于为所有打印页面设置一致的页面大小和边距以及创建具有特定页面布局的小册子或文档很有用。
@page { size: A4 portrait; /* A4 size, portrait orientation */ margin: 2cm; /* 2cm margins on all sides */ } /* First page has different styling */ @page :first { margin: 5cm; }
让我们来看这两个的例子。
示例
<!DOCTYPE html> <html> <head> <style> body{ background-color: black; color: white; padding: 10px; } @media print { body { background-color: white; color: black; padding: 10px; } } @page { size: A4 portrait; margin: 2cm; } button { background-color: aqua; padding: 5px; } </style> </head> <body> <h3> Tutorialspoint </h3> <p>CSS Media Type - Print</p> <p> Background is white for printable version of this page. Check out... </p> <button onclick="printPage()">Print Page</button> <script> function printPage() { window.print(); } </script> </body> </html>
检测打印请求
浏览器会触发“beforeprint”和“afterprint”事件来识别何时要进行打印或打印刚刚完成。您可以使用这些事件来修改打印过程中的用户界面,例如在打印时显示或隐藏特定元素,或者甚至在打印后更改样式。
<script> window.addEventListener("afterprint", () => self.close); </script>
上述声明将在打印其内容后自动关闭当前窗口。让我们来看一个例子。
示例
<!DOCTYPE html> <html> <head> <style> button{ background-color: green; color: white; font-size: 1em; } @media screen { h2 { font-size: large; font-family: sans-serif; color: blue; font-style: normal; } } @media print { h2 { font-family: cursive; font-style: italic; color: red; } } @media print { button {display: none;} } </style> </head> <body> <article> <section> <h2>Header1</h2> <p> Section one </p> </section> </article> <button >Print</button> <script> const button = document.querySelector("button"); button.addEventListener("click", () => { window.print(); }); window.addEventListener("afterprint", () => self.close); </script> </body> </html>
广告