R tableHTML add_css text-align center在Shiny中不起作用

时间:2016-06-30 16:10:50

标签: html css r shiny tablehtml

我正在尝试使用R。中的tableHTML包在Shiny应用程序中设置表格。

当我在R中使用tableHTML()函数时,它会产生我想要的内容。我使用add_css_column将列中的文本与中心对齐。但是,当我在Shiny应用程序中使用它时,标题最终左对齐,行中心对齐。我有什么想法可以解决这个问题吗?

output$viewers_website_top <- renderUI({ 
  tableHTML(website_index, rownames = FALSE, widths=c(200,200)) %>%
    add_css_column(css = list("text-align", "center"), 
                   column_names = names(website_index)) 
})

1 个答案:

答案 0 :(得分:0)

遗憾的是,这是bootstrap 3的常见问题。无论何时使用shiny,它都会加载一个bootstrap 3 css(立即),这使得难以覆盖。

至于使用add_css_header的解决方案可能会解决这个问题。 add_css_header会将HTML表的th标记更改为您喜欢的标记(而add_css_header会更改标题下方的td标记):

output$viewers_website_top <- renderUI({ 
  tableHTML(website_index, rownames = FALSE, widths=c(200,200)) %>%
    add_css_header(css = list("text-align", "center"), 
                   headers = 1:ncol(website_index)) 
})

您可以做的另一件事是添加一个单独的css文件shiny::includeCSS。有关如何使用includeCSS的更多信息herehere

在css文件中你需要写:

.table_website_index th {
  text-align: center;
}

那应该这样做!

P.S。 table_website_index是包分配给表的类,您也可以使用类参数更改它。

P.S.2我是开发人员 - 感谢您使用该软件包:)