我正在使用knitr和rmarkdown编写小插图,选择rmarkdown :: html_vignette样式。
我的大部分表都作为降价管表输入,但我使用kable()
作为一个。
一般来说,我喜欢表的默认样式,但在一个特定的表中(有几个)我想抑制行的奇偶线阴影。
是否有一种简单的方法可以推翻CSS
table thead, table tr.even {
background-color: #f7f7f7;
}
仅适用于kable
生成的一个特定表格?
这是一个示例文件,两个表都有阴影。我只想要一个:
---
output: rmarkdown::html_vignette
---
This table should have alternate shading:
```{r output="asis"}
library(knitr)
kable(matrix(1:20, nrow=5))
```
How do I turn it off for just this one?
```{r output="asis"}
kable(matrix(1:20, nrow=5))
```
答案 0 :(得分:3)
这是问题的部分答案。它很丑;我希望其他人做出更好的贡献。
一种解决方案是为特定的CSS id或类定义新样式,然后在<DIV id="newid"> </DIV>
或<DIV class="newclass"> </DIV>
中包装所需的表。据我所知,在调用kable()
时无法做到这一点,因此需要直接将其放入文本中。
似乎样式本身也需要放在<STYLE></STYLE>
块中的文本中。虽然标题允许您指定css
,但据我所知,只能替换现有的样式文件,您无法添加它。
所以这是我丑陋的解决方案:
---
output:
rmarkdown::html_vignette
---
This table should have alternate shading:
```{r output="asis"}
library(knitr)
kable(matrix(1:20, nrow=5))
```
Define a style for class "nostripes", then wrap tables in a DIV with
class "nostripes" to turn it off:
<style>
.nostripes tr.even {background-color: white;}
</style>
<div class="nostripes">
```{r output="asis"}
kable(matrix(1:20, nrow=5))
```
</div>