隐藏导航栏标题

时间:2019-01-15 10:04:18

标签: css r shiny navbar

我正在使用带有大量tabPanels的navbarPage来开发Shiny应用程序。这是一个最小的示例:

ui <- navbarPage(
  'example', collapsible=TRUE,
  tabPanel("panel 01", 'some text'), tabPanel("panel 02"), tabPanel("panel 03"), 
  tabPanel("panel 04"), tabPanel("panel 05"), tabPanel("panel 06"), 
  tabPanel("panel 07"), tabPanel("panel 08"), tabPanel("panel 09"), 
  tabPanel("panel 10"), tabPanel("panel 11"), tabPanel("panel 12")
)
server <- function(input, output){}  
shinyApp(ui=ui, server=server)

现在,如果屏幕足够宽,则选项卡将与标题很好地对齐,如下所示: 01

但是,在一个较小的窗口中,面板不再适合一排,从而导致: 02

面板标题移动到标题下方的行,基本上浪费了标题行中的大量空间。由于将标题设置为“”或NULL,导致出现空行,这特别令人讨厌: 03

是否可以删除/隐藏此空行?我曾尝试过弄乱样式标签,但是没有什么能解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以通过设置navbar-brand.css隐藏{display:none}。为此,您需要稍微调整UI。由于您使用的是navbarPage,因此需要添加tagList函数。如果不将其包装在标签列表中,闪亮的会认为您想创建一个新的tabPanel,然后会出现一个幻影标签。更多信息here.

工作示例:

ui <- shinyUI(
  tagList(tags$head(tags$style(type = 'text/css','.navbar-brand{display:none;}')),
          navbarPage(
            '', collapsible=TRUE,
            tabPanel("panel 01", 'some text'), tabPanel("panel 02"), tabPanel("panel 03"), 
            tabPanel("panel 04"), tabPanel("panel 05"), tabPanel("panel 06"), 
            tabPanel("panel 07"), tabPanel("panel 08"), tabPanel("panel 09"), 
            tabPanel("panel 10"), tabPanel("panel 11"), tabPanel("panel 12")
          )))

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