我正在尝试将框的背景内容颜色从白色更改为#222d32(或任何自定义颜色),但是使用background参数时出现错误
validateColor(background)中的错误:无效的颜色:#222d32。有效颜色为:红色,黄色,水绿色,蓝色,浅蓝色,绿色,海军蓝色,蓝绿色,橄榄色,石灰,橙色,倒挂金钟,紫色,栗色,黑色。
代码如下:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(width = 6, title = "test", status = "primary", solidHeader = TRUE, background = '#222d32',
"Box content"
)
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我也曾尝试创建一个自定义包装器来捕获<div>和修改它,但是没有成功。代码如下:
library(shiny)
library(shinydashboard)
box_customBackground <- function(box_object, color = NULL){
new_color_class <- paste0('<div class="box box-solid ', color ,'">')
box_modify <- gsub('<div class="box">', new_color_class, box_object)
box_html <- HTML(box_modify)
return(box_html)
}
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box_customBackground(box_object = box(
actionButton(inputId = 'SelectGroup', label = 'Change Groups'),
checkboxGroupInput(inputId = 'SimulationType', choices = c('Growth', 'Step'), selected = 'Growth',
label = NULL, inline = TRUE),
width = 5), color = '#222d32'
)
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
如果只想更改框内容的背景,请执行以下操作:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
tags$style(HTML("
.box.box-solid.box-primary>.box-header {
}
.box.box-solid.box-primary{
background:#222d32
}
")),
fluidRow(
box(width = 6, title = "test", status = "primary", solidHeader
= TRUE,
"Box content"
)
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
如果要更改框中的所有内容,请执行以下操作:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
tags$style(HTML("
.box.box-solid.box-primary>.box-header {
color:#fff;
background:#222d32
}
.box.box-solid.box-primary{
border-bottom-color:#222d32;
border-left-color:#222d32;
border-right-color:#222d32;
border-top-color:#222d32;
background:#222d32
}
")),
fluidRow(
box(width = 6, title = "test", status = "primary", solidHeader =
TRUE,
"Box content"
)
)
)
)
server <- function(input, output) {}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)