我有一个 fluidRow ,其中包含三个列,其中包含一些小部件。是否可以更改中间列的颜色(或此列中的所有小部件)?
例如:白色列 - 灰色列 - 白色列
答案 0 :(得分:13)
我认为你可以为元素添加样式;像这样的东西:
column(3, style = "background-color:#4d3a7d;", ...)
希望这有帮助
答案 1 :(得分:0)
这也可以通过shinyjs包来完成。您可以为列分配一个“ id”,并根据用户界面添加/删除/切换CSS类。在“ shinyjs”文档中修改示例:
if (interactive()) {
library(shiny)
library(shinyjs)
shinyApp(
ui = fluidPage(
useShinyjs(), # Set up shinyjs
inlineCSS(list(.red = "background: red",
.blue = "background: blue")),
fluidRow(
column(3, id = "col1",
actionButton("btn1", "Click me"),
),
column(6, id = "col2",
actionButton("btn2", "Click me too")
)
)
),
server = function(input, output) {
observeEvent(input$btn1, {
toggleClass("col1", "red")
})
observeEvent(input$btn2, {
toggleClass("col2", "blue")
})
}
)
}