【问题标题】:r knitr kable padding not working with format = "html"r knitr kable 填充不适用于格式 =“html”
【发布时间】:2017-01-08 05:44:34
【问题描述】:

我正在尝试将填充添加到我在 RMarkdown 文件中创建的表格中,该文件将生成 pdf 和 html flexdashboard。我知道我可以使用许多函数/包(pander、xtable、DT 等),但我更喜欢使用 knitr 包中的 kable 函数。

我遇到的麻烦是填充参数似乎不起作用。无需在我的文档中添加自定义 CSS,我将不胜感激。

例如,我尝试运行将填充设置为 0、10、20 的代码,但这些表格在 html 文件中看起来都相同。

knitr::kable(head(cars), format = "html", padding = 0)
knitr::kable(head(cars), format = "html", padding = 10)
knitr::kable(head(cars), format = "html", padding = 20)

我使用的是knitr_1.14和rmarkdown_1.0,我的会话信息如下。

R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

【问题讨论】:

  • 在示例中我没有看到与格式“html”结合使用的填充。但是根据这篇文章stackoverflow.com/questions/17717323/…,您可以尝试 > kable(head(cars), format='html', table.attr='cellpadding="10"')
  • 感谢您的建议。和 Martin 一样,我无法让 table.attr='cellpadding="10"' 工作。

标签: html r knitr r-markdown


【解决方案1】:

table.attr='cellpadding="20px"' 选项对我不起作用。使用 CSS 样式并向带有 table.attr='class="myTable"' 的表添加一个类会导致所有表都具有所需的填充属性(即使只有一个表带有新类)。

如果我只想修改一个表,我通常会使用 jQuery:

---
title: "Table Cell Padding"
output: html_document
---

```{r}
knitr::kable(head(cars), format = "html")
```
```{r}
knitr::kable(head(cars), format = "html", table.attr='class="myTable"')
```
<style>
  .myTable td {
    padding: 40px;
  }
</style>


另一个选择是使用 jQuery 来编辑单个元素。以下示例以与上述 CSS 样式相同的方式修改表格。

<script type="text/javascript">
  // When the document is fully loaded...
  $(document).ready(function() {
    // ... select the cells of the table that has the class 'myTable'
    // and add the attribute 'padding' with value '20px' to each cell
    $('table.myTable td').css('padding','20px');
  });
</script>

这里我将myTable 类添加到我要修改的表中。之后我执行了一些 JavaScript(参见 cmets)。 您可以以相同的方式(例如 $('table.myTable td').css('background-color','red');)将任何其他 CSS 属性添加到表格元素(或表格本身 $('table.myTable').css(...)

【讨论】:

  • 我希望避免添加 CSS 或 JavaScript,但似乎这是覆盖默认表属性的唯一方法。谢谢你的例子!
猜你喜欢
  • 2016-01-27
  • 2019-04-08
  • 1970-01-01
  • 2021-10-04
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
  • 2018-10-20
  • 2021-05-29
相关资源
最近更新 更多