#css #r #shiny
#css — файл #r #блестящий
Вопрос:
Проблема: В настоящее время я использую тему flatly в Shiny. Однако мне не нравится отображение таблиц. Есть ли способ легко получить тему по умолчанию только для таблиц (см. Также скриншоты)?
Текущая ситуация:
library("shiny")
library("formattable")
shinyApp(
ui = fluidPage(
theme = shinythemes::shinytheme("flatly"),
sidebarPanel(
formattableOutput("table")
),
mainPanel(
)
),
server = function(input, output) {
test.table <- data.frame(lapply(1:8, function(x) {1:10}))
output$table <- renderFormattable({formattable(test.table, list())})
}
)
Ответ №1:
Не уверен, что вы подразумеваете под простым способом.(; Но для достижения желаемого результата вы могли бы добавить пользовательский css, который перезаписывает правила для оформления таблиц значениями по умолчанию.
Чтобы сделать пример немного более интересным, я поместил вашу таблицу в живой пример выбора темы из здесь и использовал mtcars
в качестве примера набора данных:
library("shiny")
library("formattable")
shinyApp(
ui = fluidPage(
shinythemes::themeSelector(), # <--- Add this somewhere in the UI
tags$style(HTML("
.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
font-family: 'Helvetica Neue', Helvetica,Arial,sans-serif;
font-size: 14px;
line-height: 1.42857143;
color: #333;
border-bottom: 2px solid #ecf0f1;
border-collapse: collapse;
border-spacing: 0;
padding: 8px;
margin-bottom: 20px;
background-color: transparent;
}
")),
sidebarPanel(
textInput("txt", "Text input:", "text here"),
sliderInput("slider", "Slider input:", 1, 100, 30),
actionButton("action", "Button"),
actionButton("action2", "Button2", class = "btn-primary")
),
mainPanel(
tabsetPanel(
tabPanel("Tab 1"),
tabPanel("Tab 2")
),
formattableOutput("table")
)
),
server = function(input, output) {
test.table <- mtcars
output$table <- renderFormattable({formattable(test.table, list())})
}
)