打印background背景图片不显示的问题

给background加上 !important就可以啦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要原生 JS 打印节点并带上原始节点的样式,可以使用 `window.print()` 方法和 CSS 的 `@media print` 媒体查询。 首先,需要在 CSS 中定义 `@media print` 媒体查询,以便在打印时应用适当的样式: ```css @media print { /* 在打印时隐藏不必要的元素,如导航栏、侧边栏等 */ header, nav, aside, footer { display: none; } /* 调整页面边距和字体大小等 */ body { margin: 0; font-size: 12pt; } /* 打印时不显示背景颜色和背景图片 */ * { background-color: transparent !important; background-image: none !important; } /* 打印时保留节点的样式 */ * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } } ``` 然后,在 JavaScript 中,可以使用 `window.print()` 方法将当前页面打印出来: ```javascript function printNode(node) { // 将节点添加到一个空白页面中 const doc = document.implementation.createHTMLDocument(); doc.body.appendChild(node.cloneNode(true)); // 覆盖页面样式为打印样式,并调用 window.print() 方法打印 const style = doc.createElement('style'); style.textContent = '@media print { body { visibility: hidden; } }'; doc.head.appendChild(style); window.print(); } ``` 调用 `printNode()` 函数时,需要将要打印的节点作为参数传入: ```javascript const node = document.querySelector('#my-node'); printNode(node); ``` 这样就可以使用原生 JS 打印节点并带上原始节点的样式了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值