将自定义CSS标记添加到RMarkdown html文档

时间:2015-03-27 01:05:22

标签: css r rstudio knitr r-markdown

我有一个RMarkdown文档输出到HTML,其格式与下面的示例相同。我应该添加什么来为每个绘图输出应用唯一的CSS ID或类?

---
title: "RMarkdown"
author: "Me"
date: "Friday, March 27, 2015"
output:
  html_document:
    theme: null
    css: style.css
---

```{r plot1, echo=FALSE, warning=FALSE, message=FALSE}
library(ggplot2)
x <- ggplot(some_r_code)
print(x)
```

```{r plot2, echo=FALSE, warning=FALSE, message=FALSE}
y <- ggplot(some_more_r_code)
print(y)
```

我已经阅读了http://rmarkdown.rstudio.com/html_document_format.html处的信息页面,该页面找到了回答这个问题的方法,但没有让我在那里。我有一个类似的问题,在其评论部分引用该页面中的材料,并希望得到答案。

谢谢!

3 个答案:

答案 0 :(得分:11)

您可以通过results="asis"告诉knitr(在引擎盖下使用)将块的输出直接嵌入到html中。在块中,您可以使用cat来编写包含css定义的样式标记:

```{r results="asis"}
cat("
<style>
h1 {
   color: red;
}
</style>
")
```

有关详细信息,请参阅http://yihui.name/knitr/options/#chunk_options

答案 1 :(得分:2)

以下是在RMarkdown中实现自定义CSS的一些其他方法

  • 在RMarkdown的常规正文(即不在R代码区域中)的<style></style>标签之间添加css,如下所示:
<style>
.pad {
    padding-top: 200px; 
}
</style>

# This heading will be padded {.pad}
  • 另一种选择是declare css: "style.css" in yaml并将样式存储在同一目录中的单独文件(样式表)中
  • 或者可以通过R代码生成和应用css(出色的示例here

答案 2 :(得分:1)

使用Developer Tools选项在浏览器中打开结果HTML,然后查看生成的HTML。然后将样式应用于适当的标签/类。例如,将以下内容放入style.css,编织文件,您应该在图上看到红色边框:

img {
  background-color: red;
  padding: 2px;
  border: 1px solid red;
  border-radius: 3px;
  margin: 0 5px;
  max-width: 100%;
}