更改R DataTables(DT)中的字体大小

时间:2017-05-21 19:40:45

标签: r formatting r-markdown dt

一直在尝试更改DT生成的表格中所有文本的字体大小。但是,我只能弄清楚如何使用更改记录的大小 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="button"> <p>Press Me</p> </div> <div class="wrapper"> <div class="something">Hello</div> <div class="box one">Box 1</div> <div class="box two">Box 2</div> <div class="box three">Box 3</div> </div>。 列标题和按钮具有相同大小的文本。在RStudio中使用R Markdown。

3 个答案:

答案 0 :(得分:4)

如下所示,可以通过使用JS表更改CSS和使用formatStyle更改列内容字体大小来更改页眉和页脚。但是,页眉和页脚的字体大小保持不变。我想一口气更改页眉/页脚/正文(表格的整个字体)。有可能吗?

datatable(head(iris, 20), options = list(
  initComplete = JS(
    "function(settings, json) {",
    "$(this.api().table().header()).css({'font-size': '5px', 'background-color': '#c2d1f0', 'color': '#fff'});",
    "}"))) %>%  formatStyle(columns = colnames(.$x$data), `font-size` = '12px')

尝试使用以下命令更新列的CSS失败

"$(this.api().columns().data()).css({'font-size': '5px'});"

"$(this.api().table().footer()).css({'font-size': '10px});"

"$(this.api().tables().body()).css({'font-size': '10px'});"

答案 1 :(得分:3)

通过javascript表头调用添加CSS似乎可以解决问题(即'this.api()。table()。header()')。

datatable(..., options=list(
  initComplete = JS(
        "function(settings, json) {",
        "$(this.api().table().header()).css({'font-size': '50%'});",
        "}")))
  )

引用:第4.3节@ https://rstudio.github.io/DT/options.html

答案 2 :(得分:0)

基于Antex和sabeepa给出的答案。如果要更改表本身之外的所有内容(包括DT组件)的字体大小,请使用table().container()。因此代码如下所示:

font.size <- "10pt"

df %>% 
   DT::datatable(
     options=list(
       initComplete = htmlwidgets::JS(
          "function(settings, json) {",
          paste0("$(this.api().table().container()).css({'font-size': '", font.size, "'});"),
          "}")
       ) 
     )