我正在使用knitr / pandoc生成一个HTML文件,它在循环中打印几个表。这是一个最小的例子:
---
output:
html_document:
theme: cosmo
---
```{r results ="asis", echo=FALSE, warning=FALSE, kable}
library(knitr)
library(markdown)
library(pander)
for (i in 1:12) {
df = data.frame(matrix(rnorm(i), nrow=2))
cat(pandoc.table(df, split.table = Inf))
}
```
打印的数据框(表格)具有不同数量的单元格,但它们都具有相同的总宽度。 我试图通过将表格宽度设置为“自动”并将其左对齐来设置CSS的固定宽度,但我没有成功。我怎么能这样做?
答案 0 :(得分:3)
这是由原始CSS中的width: 100%
设置引起的。您可以使用自定义主题或其他CSS来覆盖它 - 例如像这样的最小的东西:
table {
width: auto !important;
}
!important
规则代表强制width
而非原始100%
。现在将此文件另存为例如custom.css
并将其传递到YAML标题中:
---
output:
html_document:
theme: cosmo
css: custom.css
---
顺便说一下,您不需要cat
pander
的结果:)