css - R Markdown : nice way to show a long text in a html table

标签 css r r-markdown knitr kable

假设我想在 R markdown 文件中显示此表:

test.df <- data.frame(A = 'test', B = 'wow', C = paste0(1:10000, collapse = ', '))
kable_styling(kable( test.df, caption="test df" ))

然而,这会使 C 列变得巨大,当我将其导出到 html 文件时,这看起来很难看,尤其是在有更多行的情况下。

enter image description here

有没有办法调整样式,使表格看起来更整洁,例如:

  • 在带有滚动条的文本框中显示列 C,滚动条定义了 width x height
  • 使 C 列中的文本在用户单击“展开”之类的内容时折叠并可见
  • 欢迎提出其他建议;)

最佳答案

也许最直接的解决方案是使用 CSS。

kableExtra::cell_spec() 函数可用于将单元格内容嵌入到 span 元素中。将此跨度显示为 block 并设置宽度和高度应该足以添加滚动条。

这是一个可重现的例子:

---
output: html_document
---

```{r, echo=FALSE, message=FALSE}
test.df <- data.frame(A = 'test', B = 'wow', C = paste0(1:10000, collapse = ', '))
test.df$C <- kableExtra::cell_spec(
  test.df$C, 
  extra_css = "display: block; overflow: scroll; height: 5em; width: 20em;"
)

kableExtra::kable_styling(knitr::kable(test.df, caption="test df", escape = FALSE))
```

关于css - R Markdown : nice way to show a long text in a html table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58150864/

相关文章:

CSS 页脚使页面内容去中心化

r - 如何并行化comb()?

r - 从任何统计测试中获取单个值(例如,从cor.test中获取spearman rho的值)

sql - R 是否提供比 tryCatch() 更干净的东西来安全地进行 SQL 查询?

r - knitR/RMD : select output folder

r - Knitr:只有 block 输出是 html(其余部分保持 rmarkdown)

css - CSS 中带有 <use> xlink 的 SVG Sprite::after

javascript - 根据输入宽度限制输入中的字符数

php - 背景为指导,固定。调整大小

r - 在没有 RStudio 的情况下将 Rmarkdown 转换为 PDF