R Markdown ioslides - 使用CSS更改kable表格的字体大小

5
我正在尝试将一张大表格放在一页幻灯片中。我使用的是kable。 我尝试过{.smaller},但这还不够,所以我想使用.css文件,但它也没有起作用。
我创建了一个示例演示文稿来说明问题。我试图编织它,它显示的方式与我的其他演示文稿相同(这很长,这就是为什么我在这里排除它的原因)。
我的代码:
---
title: "test"
author: "Test Author"
date: "5 Februar 2018"
output: 
  ioslides_presentation:
    test: presentation.css
---

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)


## Test slide

{r}
table <- data.frame(
  index=1:10,
  long_text=c("long text here: asdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf")
)
kable(table)


## Test slide css {.test}

{r}
table <- data.frame(
  index=1:10,
  long_text=c("long text here: asdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf")
)
kable(table)

我的 .css 文件:

.test{
   font-size: 50%;
}

请查看此帖子并将字体大小改为更大,而不是小号 https://dev59.com/l1kR5IYBdhLWcg3wygDp - s.brunel
3
我试过了,还试了kableExtra。它适用于html输出,但不适用于ioslides :( - rhedak
我认为我找到了一个答案:在CSS样式中添加 td {font-size: 16px !important;} ... - Ben Bolker
@BenBolker,这里的主要/首要问题不是yaml头部说test: presentation.css而不是css: presentation.css吗? - RolandASc
1
我没有测试这个例子 - 我遇到了类似的问题(甚至不是在kable中,只是在markdown -> ioslides中的常规多行表格),所以我没有尝试测试它。肯定存在一个问题,即必须像@technophobe01的答案中指定td特性,或者使用!important; 简化指定td样式不能覆盖rmdtable特定的特性... - Ben Bolker
1个回答

5
你可以通过修改css中的tabletd属性来实现这一点。

结果:

enter image description here

例子 CSS 和 代码:

presentation.css

table.rmdtable td, table th {
    font-size: 40%;
    padding: 1em 0.5em;
    line-height: 18px;
}

rmarkdown文件

---
title: "test"
author: "Test Author"
date: "5 Februar 2018"
output: 
  ioslides_presentation:
    css: presentation.css
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
```

## Test slide

```{r}
table <- data.frame(
  index=1:10,
  long_text=c("long text here: asdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf")
)
kable(table)
```

## Test slide css {.test}

```{r}
table <- data.frame(
  index=1:10,
  long_text=c("long text here: asdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasfasdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf",
    "long text here: asdfghhjoqweqwrqwrqwrasf")
)

kable(table)
```

解释

我的建议是你在浏览器中打开演示文稿,例如 Chrome。启动开发工具并调整 css 属性。然后您可以将其构建到演示文稿的 .css 文件中。

enter image description here

推荐阅读:

与其修改整个幻灯片格式,我建议您了解如何将 css 格式应用于特定幻灯片。例如,仅适用于两张测试幻灯片。

https://bookdown.org/yihui/rmarkdown/custom-css-1.html#slide-ids-and-classes

我希望这能指导您朝着正确的方向前进。


1
非常抱歉,我忘记接受答案了。虽然已经过去三年了,但再次感谢您。 - rhedak
不用担心,我很乐意帮助你。保持安全健康。 - Technophobe01

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接