RMarkdown:打印CSS样式

问题描述:

我创建了一个从RMarkdown应用一些简单的CSS的Html报告,我在打印输出报告时遇到了一些问题。浏览器版本应用正确的CSS,但印刷版本没有。这将是RMarkdown代码重复的例子:RMarkdown:打印CSS样式

--- 
title: "Table" 
output: 
    html_document: 
    css: "test.css" 
--- 

```{r} 
library(knitr) 
data(iris) 
kable(iris) 
``` 

这是我test.css文件的内容:

 .main-container { 
    max-width: 1600px !important; 
} 
    tr:nth-child(even) {background-color: #f2f2f2} 
    th { 
     background-color: #FF6319; 
     color: white; 
     font-size: 12px; 
    } 
    tbody { 
     font-size: 12px; 
    } 
    hr { 
     page-break-after: always; 
    } 

如何管理以获得浏览器输出相同的结果比打印输出?我甚至尝试在Chrome打印菜单中检查背景图形选项,但没有任何更改。 谢谢。

+1

您使用哪种浏览器? css应用不正确或根本不应用? –

+1

可能相关http://*.com/a/41611312/1457051 – hrbrmstr

我想这个问题与许多浏览器(打印时)默认忽略的“background-color”和“background-image”属性有关。

对于Chrome,您可以将以下代码添加到您的打印CSS,在Firefox和IE中,您必须在打印对话框中选择“打印背景”。

:root { 
    -webkit-print-color-adjust: exact; 
} 

你可以不喜欢它,在HTML:

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

@media print { 
    tr:nth-child(even) { 
     background-color: #f2f2f2 !important; 
     -webkit-print-color-adjust: exact; 
    } 
    th { 
     background-color: #FF6319 !important; 
     -webkit-print-color-adjust: exact; 
    } 
}