我确信我忽略了一些显而易见的事情,但我想用自定义css格式化我的表格和kable
。
您可以找到我的RMD
和CSS
个文件here的要点。
我的目标是利用我发现here的一些表CSS示例。
当我运行报告时,我的表格如下:
但是从上面的CSS示例中,它应该如下图所示。
我的问题:我错过了什么,或RMarkdown
无法达到这种风格。
我的RMD
文件也显示如下:
---
title: "Test Table CSS"
output:
html_document:
theme: NULL
style: flat-table.css
---
I want to be able to style my tables with CSS. From the looks of it, I should be able to do that
through the use of `CSS` and `knitr:kable`.
```{r setup, echo=FALSE}
data(mtcars)
mt_head = head(mtcars[, 1:5])
```
I want to be able to style my table just like one found [here](http://codepen.io/njessen/pen/naLCv)
```{r echo=FALSE, results='asis'}
library(knitr)
kable(mt_head, "html", table.attr='class="flat-table"')
```
答案 0 :(得分:28)
如果您使用下面的.Rmd文件和修改过的CSS文件,您可以通过以下方式获得所需的结果:
knitr::knit2html('my-report.RMD', stylesheet = 'flat-table.css')
结果如下:
以下是更新的 flat-table.css :
.flat-table {
display: block;
font-family: sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 115%;
overflow: auto;
width: auto;
}
th {
background-color: rgb(112, 196, 105);
color: white;
font-weight: normal;
padding: 20px 30px;
text-align: center;
}
td {
background-color: rgb(238, 238, 238);
color: rgb(111, 111, 111);
padding: 20px 30px;
}
答案 1 :(得分:0)
如果您只想进行少量自定义,则可以考虑including the CSS directly within the RMarkdown file。 Markdown将直接传递CSS,前提是它包含<style> </style>
。这是一个完整的例子:
---
output: html_document
---
# Test Project
<style>
.flat-table {
display: block;
font-family: sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 115%;
overflow: auto;
width: auto;
}
thead {
background-color: rgb(112, 196, 105);
color: white;
font-weight: normal;
padding: 20px 30px;
text-align: center;
}
tbody {
background-color: rgb(238, 238, 238);
color: rgb(111, 111, 111);
padding: 20px 30px;
}
</style>
```{r}
knitr::kable(mtcars[1:5, 1:5])
```
This guide提供了很多关于表格CSS样式的有用信息。你可以用几行CSS来实现一些很酷的东西。例如,您可以在Hover上突出显示表格的行:
tbody tr:hover {
background: yellow;
}
请注意,许多表格样式使用某种形式的JavaScript来使格式化工作,并且还可能进行影响文档其余部分的更改。您最好坚持使用thead
和tbody
代码。
答案 2 :(得分:0)
请参见custom blocks:
有用于添加属性的markdown语法。
::: {#id..class}
```{r showdata}
knitr::kable(yourtable)
```
:::
例如
::: {#table .table .table-bordered}
```{r showdata}
knitr::kable(cars)
```
:::