当前位置: 首页 > news >正文

window.print(),完整用法说明文档,如何打印出样式规范的页面

window.print(),完整用法说明文档,如何打印出样式规范的页面

一、测试地址

代码测试 🔗

二、用法详情

window.print() 完整用法及规范打印指南

一、window.print() 基础用法
// 基本调用方式
window.print(); // 触发浏览器打印对话框// 结合按钮使用示例
<button onclick="window.print()">打印当前页</button>
  • 功能:打开浏览器打印预览对话框,默认打印整个页面内容(<body>内的所有元素)
  • 返回值:无返回值(undefined
  • 兼容性:所有现代浏览器(Chrome/Firefox/Safari/Edge)均支持
二、实现规范打印的关键技术
  1. CSS 打印媒体查询(核心)
/* 常规屏幕样式 */
body { font-size: 16px; }/* 专属打印样式 */
@media print {.no-print { display: none; /* 隐藏不需要打印的元素 */}body {margin: 0; /* 清除默认边距 */padding: 1cm; /* 设置打印内边距 */}h1 { color: black !important; /* 强制黑色文字 */page-break-after: avoid; /* 防止标题分页 */}.page-break {page-break-before: always; /* 强制分页 */}
}
  1. 分页控制属性
/* 避免表格跨页断开 */
table { page-break-inside: avoid; }/* 段落保持完整 */
p { page-break-inside: avoid; }/* 章节前强制分页 */
.chapter { page-break-before: always; }
  1. 打印指定区域
function printElement(elementId) {const printContent = document.getElementById(elementId).innerHTML;const originalBody = document.body.innerHTML;document.body.innerHTML = printContent;window.print();document.body.innerHTML = originalBody; // 恢复原始内容
}
三、完整实现示例
<!DOCTYPE html>
<html>
<head><style>@media print {header, footer, .action-buttons {display: none;}body {padding: 2cm;font-size: 12pt;}.watermark {position: fixed;opacity: 0.2;font-size: 80pt;transform: rotate(-45deg);}}.page-break {page-break-after: always;}</style>
</head>
<body><header>网站标题(不打印)</header><div id="print-area"><h1>正式文档标题</h1><div class="watermark">机密文件</div><p>第一页内容...</p><div class="page-break"></div> <!-- 分页符 --><p>第二页内容...</p></div><footer>页脚信息(不打印)</footer><button onclick="window.print()">打印整个页面</button><button onclick="printElement('print-area')">仅打印内容区</button><script>function printElement(elementId) {const content = document.getElementById(elementId);const win = window.open('', '_blank');win.document.write(content.innerHTML);win.document.close();win.focus();win.print();win.close();}</script>
</body>
</html>
四、常见问题解决方案
问题类型解决方案
打印背景色-webkit-print-color-adjust: exact;
页眉/页脚去除浏览器打印设置中取消页眉页脚
内容截断检查元素是否设置了固定高度
多页重复表头<thead>标签内定义表头
图片不清晰使用SVG或2倍分辨率位图
五、最佳实践建议
  1. 布局简化:打印时使用单列布局,移除浮动和复杂定位
  2. 单位选择:使用cmmmpt等印刷单位
  3. 字体规范
    • 正文字体 ≥ 12pt
    • 优先选择衬线字体(如宋体、Times New Roman)
  4. 颜色控制
    @media print {* {background: white !important;color: black !important;box-shadow: none !important;}
    }
    

完整文档参考:
MDN window.print() 文档
W3C CSS Paged Media 标准

http://www.dtcms.com/a/619072.html

相关文章:

  • 20.UBOOT
  • 查网站域名备案查询系统一般做门户网站多少钱
  • 卯兔科技西安网站建设google官网入口手机版
  • docker 镜像失效问题
  • 办公室装修效果图片大全云南seo网站关键词优化软件
  • 张家港网站设计制作全民代理平台
  • TensorRT笔记(3):解析样例中BufferManager类的设计
  • 互联网营销具体做什么优化师是做什么的
  • 【C++】红黑树:使用及实现
  • 工业数据库选型指南:深度解析实时数据库力控 vs TDengine
  • 山西自助建站系统平台如何制作网页广告
  • 赣州 做网站中国万网注册网站
  • 变分自编码器(VAE)的原理方法(二)
  • 哈尔滨行业网站深圳建设网站top028
  • 哪个网站可以做结婚请柬免抵退税在哪个网站做
  • 网站开发组织架构图重庆做网站电话
  • 【三维重建1】模型与概念
  • HandyControl 色系管理工具
  • 做网站需要什么人员wordpress 前台 很慢
  • 什么是网站设计种类做ar的网站
  • 模型部署在docker中对外提供服务
  • 基于KALI_ARPspoof的ARP Poisoning攻击及其防护
  • 萧山网站建设xsszwl免费ppt模板下载app
  • 太原seo网站排名优化网站seo资讯
  • 使用 speechSynchesis.speak()为web程序添加语音
  • 平台网站模板素材图片下载建设网站编程语言
  • extern “C“ _declspec(dllexport)导出函数
  • 堡垒机的概念
  • 工信部网站信息查询做电影解析网站
  • 自贡市网站建设网站建设设计价格