我想要一个蓝色标题,然后一个红色标题。我 cat 两个 HTML 部分,第一个蓝色第二个红色,根据这个答案,但我都得到红色。
如何获得蓝色标题和红色标题?
---
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo=FALSE)
```
```{r results="asis"}
cat("
<style>
caption {
color: blue;
}
</style>
")
knitr::kable(head(iris),
format="html",
digits=4,
row.names=FALSE,
caption='Caption blue',
escape=TRUE)|>
kableExtra::kable_styling(font_size=14) |>
kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |>
kableExtra::scroll_box(width="100%", height="200px")
```
```{r results="asis"}
cat("
<style>
caption {
color: red;
}
</style>
")
knitr::kable(head(iris),
format="html",
digits=4,
row.names=FALSE,
caption='Caption red',
escape=TRUE) |>
kableExtra::kable_styling(font_size=14) |>
kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |>
kableExtra::scroll_box(width="100%", height="200px")
``` Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您还可以为每个表提供一个特殊的 HTML 类,然后将所有样式收集在
css块中,而不是在每个块中指定 CSS:--- output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo=FALSE) ``` ```{css} .mytable1 > caption { color: blue; } .mytable2 > caption { color: red; } ``` ```{r results="asis"} knitr::kable(head(iris), format="html", digits=4, row.names=FALSE, caption='Caption blue', escape=TRUE)|> kableExtra::kable_styling(font_size=14, htmltable_class = "mytable1") |> kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |> kableExtra::scroll_box(width="100%", height="200px") ``` ```{r results="asis"} knitr::kable(head(iris), format="html", digits=4, row.names=FALSE, caption='Caption red', escape=TRUE) |> kableExtra::kable_styling(font_size=14, htmltable_class = "mytable2") |> kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |> kableExtra::scroll_box(width="100%", height="200px") ```或者,我们可以在块之外插入内联 CSS。
<style> .mytable1 > caption { color: blue; } .mytable2 > caption { color: red; } </style>因为第二个CSS覆盖了第一个CSS。
最好这样做:
cat(" <style> .blue-caption { color: blue; } .red-caption { color: red; } </style> ")然后像这样使用:
有效吗?
问候, 诺埃尔