Rumah > Soal Jawab > teks badan
P粉8659009942023-09-02 14:35:18
Anda juga boleh menyediakan kelas HTML khas untuk setiap jadual dan mengumpulkan semua gaya dalam blok css
dan bukannya menentukan CSS dalam setiap blok:
--- 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") ```
Sebagai alternatif, kita boleh memasukkan CSS sebaris di luar blok.
<style> .mytable1 > caption { color: blue; } .mytable2 > caption { color: red; } </style>
P粉1569834462023-09-02 00:44:29
Kerana CSS kedua menimpa CSS pertama.
Lebih baik lakukan ini:
cat(" <style> .blue-caption { color: blue; } .red-caption { color: red; } </style> ")
Kemudian gunakan seperti ini:
caption='<span class=\"blue-caption\">Caption blue</span>', caption='<span class=\"red-caption\">Caption red</span>',
Adakah ia berkesan?
Salam, Noel