css - 如何使用 CSS 覆盖各种浏览器的打印首选项?
问题描述
我有以下CSS:
@@media only print {
@@page {
size: A4 landscape !important;
margin-top: 0mm !important;
margin-bottom: 0mm !important;
}
#tblPrint tbody tr:nth-child(even) {
background-color: #ededed !important;
}
* {
-webkit-print-color-adjust: exact !important;
}
}
问题如下:
@@page 属性并非对所有浏览器都生效,默认浏览器的打印首选项生效,即(Chrome:A4/Landscape)、(Edge:A4/Portrait)、(IE:A4/Portrait),甚至当我将 size 属性翻转为 size: A3 Portrait !important; 相同的默认浏览器的打印首选项继续生效。
由于我使用了“-webkit-print-color-adjust”,所以即使我从浏览器的打印首选项中关闭了“背景图形”功能,背景色属性也会在 Chrome 上生效,但是在 IE 上不起作用除非我从浏览器的打印首选项中打开“打印背景颜色和图像”功能,否则边缘浏览器无法使 background-color CSS 属性生效。
我需要的解决方案是强制我的 CSS 指定的属性覆盖浏览器的打印首选项,而无需用户指定纸张大小、方向并从浏览器检查“背景图形/打印背景颜色和图像”所有浏览器的打印首选项,请帮忙!!
解决方案
添加样式表的底部
css
@media print {
body{ background-color:#000;}
}
推荐阅读
- php - 在 wordpress 管理面板中删除图像
- ruby-on-rails - Ruby on Rails - 无法创建新用户:验证失败
- amazon-s3 - 跨帐户 Codepipeline 使用 S3 作为帐户 - A 中的源和 cloudformation 部署在帐户 -B 中(这是基于推送的管道)
- redux - 添加 mapDispatchToProps 后运行代码显示“this.props.dispatch is not a function”
- reactjs - 映射从异步函数调用的数据,但仅在数据可用之后
- ios - iOS 更新 14.4.2 后 Swift 中的列表操作问题
- bash - BASH 从最高列总和 txt 文件中提取列名
- r - 调整 Plotly 图中的字体以匹配 Base R Plot
- perl - Perl:如何使用 Hash Slices 进行 grep?
- javascript - 使用 javascript,如何在继续之前等待所有 .toBlob 函数完成?