css - R Shiny - 两个导航栏页面,每一个都有自定义和标准颜色

标签 css r shiny

我正在尝试在我的 Shiny 应用程序上有两个甚至更多“navbarPage”。第一个需要着色,第二个需要有默认样式。我尝试在 navbarPage 中传递类条件,但它不接受它。如果我向其中添加 .css,所有 navbarPage 都会获得该样式。这里我有一个最小的可重现示例

library(shiny)
ui <- fluidPage(
  div(class = "navbar1",
      navbarPage(title="Navbar One",theme="custom-navbar.css",
                                    navbarMenu("Nav 1.1",
                                               tabPanel("Item 1"),
                                               tabPanel("Item 2")),
                                    navbarMenu("Nav 1.2")
                                    )#close nav1
      ), #close div

  navbarPage(title="Navbar Two",
             navbarMenu("Nav 2.1",
                        tabPanel("Item 3"),
                        tabPanel("Item 4")),
             navbarMenu("Nav 2.2",
                        tabPanel("Item 5"),
                        tabPanel("Item 6")),
             navbarMenu("Nav 2.3")
             ), #close nav2

  titlePanel("It is a title panel"),
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "sidebar panel",
                  min = 1,
                  max = 50,
                  value = 30)
    ),
    mainPanel(
      p("it is a mainpanel")
    )
  )
)

server <- function(input, output) {}
shinyApp(ui = ui, server = server)

.css 文件

.navbar{ background-color: #00b8bd;}

.navbar-default .navbar-brand{color: white;}

.tab-panel{ background-color: #00b8bd; color: #00b8bd}

.navbar-nav li a:hover, .navbar-nav > .active > a {
color: #fff !important;
background-color:#00b8bd !important;
background-image: #fff !important;
}

提前致谢!

最佳答案

我已将类 navbar1 放在您的第一个导航栏周围,并更新了 .css 文件以查看此内容,这一切都正常。

R

library(shiny)
ui <- fluidPage(
  div(class = "navbar1", navbarPage(title="Navbar One",theme="custom-navbar.css")), #custom colors
  navbarPage(title="Navbar Two"), #default colors
  titlePanel("It is a title panel"),
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "sidebar panel",
                  min = 1,
                  max = 50,
                  value = 30)
    ),
    mainPanel(
      p("it is a mainpanel")
    )
  )
)

server <- function(input, output) {}
shinyApp(ui = ui, server = server)

.css

.navbar1 .navbar{ background-color: #00b8bd;}

.navbar1 .navbar-default .navbar-brand{color: white;}

.navbar1 .tab-panel{ background-color: #00b8bd; color: #00b8bd}

.navbar1 .navbar-nav li a:hover, .navbar1 .navbar-nav > .active > a {
color: #fff !important;
background-color:#00b8bd !important;
background-image: #fff !important;
}

关于css - R Shiny - 两个导航栏页面,每一个都有自定义和标准颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49261761/

相关文章:

r - 使用 data.table 更新按行相互依赖的两列

javascript - 基础顶栏切换不起作用

html - 如何在 HTML 中正确设置样式

javascript - 将可拖动形状限制为设置的 div 或区域

R - 使用 shapefiles/SpatialPolygonsDataFrame 的数据来着色/填充 ggplots

javascript - 列出包装 Shiny 传单的输入处理程序

css - 如何使用默认选定元素创建 css 'nav'

r - 有条件地选择 dplyr 中特定比例的值为 NA 的列

R Shiny / Shiny 服务器-查找包的问题

r - Shiny 的 slider - 检索值 - 列表,或者..?