【发布时间】:2020-02-26 09:01:54
【问题描述】:
我有一个 fluidRow,其中包含三个 列,其中包含一些小部件。是否可以更改中间列(或此列中的所有小部件)的颜色?
例如:白柱-灰柱-白柱
【问题讨论】:
-
对于单个对象的着色(或更一般地,样式化),@Barranka 的答案是要走的路。如果您想更改一组对象,您应该使用您的应用程序查看using CSS stylesheets。
我有一个 fluidRow,其中包含三个 列,其中包含一些小部件。是否可以更改中间列(或此列中的所有小部件)的颜色?
例如:白柱-灰柱-白柱
【问题讨论】:
我认为您可以为元素添加样式;像这样:
column(3, style = "background-color:#4d3a7d;", ...)
希望对你有帮助
【讨论】:
wellPanel(),您可以用它封装项目以将其变为灰色。
这也可以通过shinyjs 包以反应方式完成。您可以为列分配“id”并添加/删除/切换 CSS 类以响应 UI。修改“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")
})
}
)
}
【讨论】: