I'm trying to style a table in a Shiny app using the tableHTML package in R.
When I use the tableHTML()
function in R it produces exactly what I want. I use the add_css_column to align the text in the column to the centre. However when I use it in a Shiny app the headers end up left aligned and the rows centre aligned. Any ideas how I can fix this?
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))
})
This is a common issue with bootstrap 3 unfortunately. Whenever you use
shiny
it loads up a bootstrap 3 css (immediately) which makes it difficult to overwrite.As for the solution to this using
add_css_header
would probably solve this one.add_css_header
would change theth
tag of the HTML table to the one you like (whereasadd_css_header
would change thetd
tags below the headers):Another thing you can do is to add a separate css file with
shiny::includeCSS
. There is more info here and here on how to useincludeCSS
.In the css file you need to write:
And that should do it!
P.S.
table_website_index
is the class the package assigns to the table which you can also change with the class argument.P.S.2 I am the developer - thanks for using the package :)