2016-06-30 4 views
1

Я пытаюсь стиль таблицы в Блестящей приложении, используя пакет tableHTML в R.R tableHTML add_css выравнивание текста центр не работает в Shiny

Когда я использую функцию tableHTML() в R производит именно то, что я хотеть. Я использую 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)) 
}) 

ответ

0

Это распространенная проблема с бутстрапом 3, к сожалению. Всякий раз, когда вы используете shiny, он загружает загрузчик 3 css (сразу), что затрудняет перезапись.

Что касается решения этой проблемы с использованием add_css_header, вероятно, это решит. add_css_header изменит th тег HTML таблицы в понравившийся (а 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. Существует больше информации here и here о том, как использовать includeCSS.

В файле CSS вам нужно написать:

.table_website_index th { 
    text-align: center; 
} 

И что должны это сделать!

P.S. table_website_index - это класс, который пакет присваивает таблице, которую вы также можете изменить с помощью аргумента класса.

P.S.2 Я разработчик - спасибо за использование пакета :)