You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在shinydashboard的box左侧添加红色栏而非顶部?

实现shinydashboard左侧带红色栏的box

shinydashboard及shinydashboardPlus本身没有内置的左侧栏样式box,但可以通过自定义CSS来实现需求。以下是修改后的完整代码:

## app.R ##
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    # 自定义CSS样式
    tags$style(HTML("
      /* 给指定box添加左侧红色栏 */
      .left-red-bar-box {
        border-left: 5px solid #dd4b39; /* 匹配shinydashboard danger主题的红色 */
        padding-left: 15px; /* 调整内边距避免内容贴在红栏上 */
      }
      /* 折叠状态下保证标题区域对齐 */
      .left-red-bar-box .box-header {
        padding-left: 15px;
      }
    ")),
    box(
      title = "title", 
      closable = TRUE, 
      width = 10,
      status = "danger", 
      solidHeader = FALSE, 
      collapsible = TRUE,
      collapsed = TRUE,
      # 绑定自定义样式类
      class = "left-red-bar-box"
    )
  )
)

server <- function(input, output) { }

shinyApp(ui, server)

关键说明:

  • 通过tags$style(HTML(...))插入自定义CSS,给目标box设置左侧红色边框,颜色沿用shinydashboard的danger主题色#dd4b39,可自行调整边框宽度和颜色值。
  • 给目标box添加专属类名left-red-bar-box,确保样式仅作用于指定box,不影响其他组件。
  • 调整内边距是为了避免标题和内容紧贴红色栏,保证视觉舒适度。

如果需要多个box应用该样式,只需给对应的box都添加class = "left-red-bar-box"即可。

内容的提问来源于stack exchange,提问作者firmo23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:05:58