繁体   English   中英

将不同的 CSS styles 应用于 R Shiny 中的框元素

[英]Applying different CSS styles to box elements in R Shiny

我有一个应用程序,我希望 main_box 展开/收缩图标为白色背景的黑色文本,然后 sub_box 的选项框显示为红色和白色字母。 此外,我希望 sub_box 的选项框保持红色和白色字母,即使在悬停或单击时也是如此。

我能够正确实现 sub_box css,但我不知道如何从 main_box css 中分解 sub_box css。谁能告诉我我做错了什么?

library(shiny)
library(shinydashboard)
library(shinyWidgets)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    tags$style(HTML("
.box.box-solid > .box-header > .box-tools .btn {
  background: #fd0000;
  color: #ffffff;
}
")),
box(title = "main_box", collapsible = T,
    box(title = "sub_box",
        dropdownMenu = dropdown(label = "Options",
                                "Hello World!")
    )
)
  )
)

server <- function(input, output) { }

shinyApp(ui, server)

当前State:

在此处输入图像描述

期望结束 State:

在此处输入图像描述

区分这些框的一种简单方法是为它们提供一个id - 请参阅以下内容:

library(shiny)
library(shinyWidgets)
library(shinydashboard)
library(shinydashboardPlus)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    tags$style(
      HTML(
        "#subbox > .box-header > .box-tools .btn {
       background: #fd0000;
       color: #ffffff;
       }"
      )
    ),
    shinydashboardPlus::box(
      id = "mainbox",
      title = "main_box",
      collapsible = TRUE,
      shinydashboardPlus::box(
        id = "subbox",
        title = "sub_box",
        dropdownMenu = dropdown(label = "Options", "Hello World!")
      )
    )
  )
)

server <- function(input, output) {}

shinyApp(ui, server)

此外,请确保解决名称空间问题。 shinydashboard::box没有dropdownMenu参数 - shinydashboardPlus::box有。

结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM