Shinydashboard Box背景色不生效问题求助
问题原因分析
你遇到的box背景色不生效的核心问题是没有使用shinydashboard的专属布局结构。shinydashboard的组件(比如box)依赖于它自身的CSS样式体系,而你当前用的是普通Shiny的fluidPage布局,这种情况下box的背景色样式无法被正确加载渲染。
修复后的代码
把你的UI部分改成shinydashboard标准的dashboardPage结构即可解决问题,下面是调整后的完整代码:
library('shiny') library('shinydashboard') # UI ui <- dashboardPage( dashboardHeader(title = "Sample Code"), dashboardSidebar(), # 可以根据需求自定义侧边栏内容,这里留空 dashboardBody( fluidRow( column(6, h1("Sample 1"), shinydashboard::box( title = "Google", "Description for Google", solidHeader = TRUE, background = "green", br(), shiny::actionButton( inputId='link1', label="Go To Google", onclick ="window.open('https://google.com', '_blank')" ) ), shinydashboard::box( title = "Stack Overflow", "Description for Stack Overflow", solidHeader = TRUE, background = "blue", br(), shiny::actionButton( inputId='link2', label="Go To Stack", onclick ="window.open('https://stackoverflow.com/', '_blank')" ) ) ) ) ) ) #SERVER server<-function(input,output,session) { } #Run the Shiny App to Display Webpage shinyApp(ui=ui, server=server)
关键改动说明
- 将原本的
fluidPage替换为dashboardPage,这是shinydashboard应用的核心布局容器,必须包含dashboardHeader、dashboardSidebar和dashboardBody三个部分 - 把你原来的
fluidRow和column放到dashboardBody内部,这样shinydashboard的CSS样式就能正确作用于box组件,背景色参数自然就生效了
这样修改后,你就能看到绿色和蓝色背景的box了,同时保留了你原本需要的标题、描述和跳转按钮功能。
内容的提问来源于stack exchange,提问作者User247365
相关产品推荐
相关产品推荐

