cari

Rumah  >  Soal Jawab  >  teks badan

Laksanakan CSS tersuai yang berbeza (warna fon) untuk pengepala kabel dalam jadual berterusan

<p>Saya mahukan tajuk biru dan kemudian tajuk merah. Saya<kod>cat</kod> dua bahagian HTML <kod><gaya>...</style></kod> kedua-duanya. </p> <p>Bagaimana untuk mendapatkan tajuk biru dan tajuk merah? </p> <pre class="brush:php;toolbar:false;">--- output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo=FALSE) ``` ```{r keputusan="asis"} kucing(" <gaya> kapsyen { warna: biru; } </style> ") knitr::kabel(kepala(iris), format="html", digit=4, row.names=FALSE, kapsyen='Kapsyen biru', melarikan diri=BENAR)|> kableExtra::kabel_styling(font_size=14) |> kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |> kableExtra::scroll_box(width="100%", height="200px") ``` ```{r keputusan="asis"} kucing(" <gaya> kapsyen { warna: merah; } </style> ") knitr::kabel(kepala(iris), format="html", digit=4, row.names=FALSE, kapsyen='Kapsyen merah', melarikan diri=BENAR) |> kableExtra::kabel_styling(font_size=14) |> kableExtra::kable_paper(c('hover', 'condensed', 'responsive'), full_width=T) |> kableExtra::scroll_box(width="100%", height="200px") ```</pre>
P粉563831052P粉563831052485 hari yang lalu586

membalas semua(2)saya akan balas

  • P粉865900994

    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>

    balas
    0
  • P粉156983446

    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

    balas
    0
  • Batalbalas