如何为Shiny的navbarPage组件添加类属性?
你不需要用tags$style绕弯子,Shiny的navbarPage本身支持直接传递class参数,或者用tagAppendAttributes追加类属性,两种方法都能轻松实现你要的浅色导航栏效果:
方法1:直接在navbarPage中指定class参数
navbarPage会自动生成基础导航栏类(比如navbar navbar-expand-lg),你只需要补充需要的navbar-light bg-light类即可,代码修改如下:
ui <- fluidPage( theme = bs_theme(bootswatch = 'sandstone'), br(), navbarPage('Title', # 直接添加目标类 class = "navbar-light bg-light", tabPanel('tp1', 'tp1 content'), tabPanel('tp2', 'tp2 content'), tabPanel('tp3', 'tp3 content') ) )
方法2:用tagAppendAttributes追加类属性
如果需要更灵活地修改已有的navbarPage元素,可以用shiny::tagAppendAttributes来添加类:
ui <- fluidPage( theme = bs_theme(bootswatch = 'sandstone'), br(), tagAppendAttributes( navbarPage('Title', tabPanel('tp1', 'tp1 content'), tabPanel('tp2', 'tp2 content'), tabPanel('tp3', 'tp3 content') ), class = "navbar-light bg-light" ) )
这两种方法都能精准把类属性添加到导航栏元素上,你之前用tags$style没生效大概率是因为CSS选择器没有精准定位到导航栏,而直接添加类是最直接可靠的方式。
内容的提问来源于stack exchange,提问作者miguelau
相关产品推荐
相关产品推荐

