r可裁剪填充不使用format=";html";

r可裁剪填充不使用format=";html";,html,r,knitr,r-markdown,Html,R,Knitr,R Markdown,我正在尝试向我在RMarkdown文件中创建的表添加填充,该文件将生成pdf和html flexdashboard。我知道我可以使用很多函数/包(pander、xtable、DT等),但我更喜欢使用knitr包中的kable函数 我遇到的麻烦是,填充的论点似乎不起作用。如果您能帮助我解决这个问题,而不必在我的文档中添加自定义CSS,我将不胜感激 作为一个例子,我试着在运行代码时将padding设置为0、10、20,但在html文件中,表看起来都是相同的 knitr::kable(head(car

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

我遇到的麻烦是,填充的论点似乎不起作用。如果您能帮助我解决这个问题,而不必在我的文档中添加自定义CSS,我将不胜感激

作为一个例子,我试着在运行代码时将padding设置为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

选项
table.attr='cellpadding=“20px”
对我不起作用。使用CSS样式并使用
table.attr='class=“myTable”
向表中添加一个类将导致所有表都具有所需的padding属性(即使只有一个表包含新类)

如果我只想修改一个表,我通常使用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>
---
标题:“表格单元格填充”
输出:html\u文档
---
```{r}
knitr::kable(头部(汽车),format=“html”)
```
```{r}
knitr::kable(head(cars),format=“html”,table.attr=“class=”myTable“)
```
.myTable td{
填充:40px;
}


另一个选项是使用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>

//当文档完全加载时。。。
$(文档).ready(函数(){
//…选择具有类“myTable”的表的单元格
//并将值为“20px”的属性“padding”添加到每个单元格中
$('table.myTable td').css('padding','20px');
});
在这里,我将类
myTable
添加到要修改的表中。之后,我执行一些JavaScript(参见注释)。
您可以以相同的方式(例如,
$('table.myTable')将任何其他CSS属性添加到表元素(或表本身)
$('table.myTable')
)中(例如,
$('table.myTable td').CSS('background-color','red');

选项
table.attr='cellpadding=“20px'
对我不起作用。使用CSS样式并使用
table.attr='class=“myTable”
向表中添加一个类将导致所有表都具有所需的padding属性(即使只有一个表包含新类)

如果我只想修改一个表,我通常使用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>
---
标题:“表格单元格填充”
输出:html\u文档
---
```{r}
knitr::kable(头部(汽车),format=“html”)
```
```{r}
knitr::kable(head(cars),format=“html”,table.attr=“class=”myTable“)
```
.myTable td{
填充:40px;
}


另一个选项是使用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>

//当文档完全加载时。。。
$(文档).ready(函数(){
//…选择具有类“myTable”的表的单元格
//并将值为“20px”的属性“padding”添加到每个单元格中
$('table.myTable td').css('padding','20px');
});
在这里,我将类
myTable
添加到要修改的表中。之后,我执行一些JavaScript(参见注释)。
您可以以相同的方式(例如,
$('table.myTable')将任何其他CSS属性添加到表元素(或表本身
$('table.myTable').CSS('table.myTable td'));

在示例中,我没有看到与格式“html”组合使用的填充。但是基于这篇文章,你可以试试>kable(head(cars),format='html',table.attr='cellpadding=“10”'),谢谢你的建议。与Martin一样,我无法使table.attr='cellpadding=“10”正常工作。在示例中,我没有看到填充与格式“html”结合使用。但是基于这篇文章,你可以试试>kable(head(cars),format='html',table.attr='cellpadding=“10”'),谢谢你的建议。像Martin一样,我无法让table.attr='cellpadding=“10”正常工作。我希望避免添加CSS或JavaScript,但这似乎是覆盖默认表属性的唯一方法。谢谢你的例子!我希望避免添加CSS或JavaScript,但这似乎是覆盖默认表属性的唯一方法。谢谢你的例子!