2017-03-05 152 views
-1

我創建了一個從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://stackoverflow.com/a/41611312/1457051 – hrbrmstr

回答

-1

我想這個問題與許多瀏覽器(打印時)默認忽略的「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; 
    } 
}