recherche

Maison  >  Questions et réponses  >  le corps du texte

Implémenter différents CSS personnalisés (couleur de police) pour les en-têtes de câbles dans les tableaux continus

<p>Je veux un titre bleu puis un titre rouge. J'<code>cat</code> deux sections HTML <code><style>...</style></code>, la première bleue et la deuxième rouge, mais j'obtiens du rouge les deux. </p> <p>Comment obtenir le titre bleu et le titre rouge ? </p> <pre class="brush:php;toolbar:false;">--- sortie : html_document --- ```{r configuration, include=FALSE} knitr::opts_chunk$set(echo=FALSE) ``` ```{r résultats="asis"} chat(" <style> légende { Couleur bleue; } </style> ") knitr::kable(tête(iris), format="html", chiffres = 4, row.names = FAUX, caption='Légende bleue', 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 résultats="asis"} chat(" <style> légende { La couleur rouge; } </style> ") knitr::kable(tête(iris), format="html", chiffres = 4, row.names = FAUX, caption='Légende rouge', 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") ```</pré>
P粉563831052P粉563831052526 Il y a quelques jours611

répondre à tous(2)je répondrai

  • P粉865900994

    P粉8659009942023-09-02 14:35:18

    Vous pouvez également fournir une classe HTML spéciale pour chaque tableau et rassembler tous les styles dans un bloc css au lieu de spécifier CSS dans chaque bloc :

    ---
    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")
    ```

    Alternativement, nous pouvons insérer du CSS en ligne en dehors du bloc.

    <style>
    .mytable1 > caption {
      color: blue;
    }
    .mytable2 > caption {
      color: red;
    }
    </style>

    répondre
    0
  • P粉156983446

    P粉1569834462023-09-02 00:44:29

    Parce que le deuxième CSS écrase le premier CSS.

    Mieux vaut faire ceci :

    cat("
    <style>
    .blue-caption {
          color: blue;
        }
    
    .red-caption {
          color: red;
        }
    </style>
    ")

    Ensuite, utilisez comme ceci :

    caption='<span class=\"blue-caption\">Caption blue</span>',
    caption='<span class=\"red-caption\">Caption red</span>',

    Est-ce efficace ?

    Bonjour, Noël

    répondre
    0
  • Annulerrépondre