如何修改bs4Dash中navbarTab及下拉菜单的字体颜色
解决bs4Dash导航栏及下拉菜单文本颜色问题
要实现导航栏navbarTab文本设为黄色、下拉菜单文本设为绿色的需求,可借助fresh包自定义CSS样式,直接对对应HTML元素的样式进行覆盖。以下是修改后的完整代码:
library(shiny) library(bs4Dash) library(fresh) # 自定义主题样式 my_theme <- create_theme( bs4dash_vars( navbar_light_color = "#ffd700" # 导航栏默认状态文本颜色(黄色) ), bs4dash_global( # 设置下拉菜单文本颜色(绿色) ".dropdown-menu .dropdown-item" = list( color = "#2e8b57" ), # 优化下拉菜单悬停样式 ".dropdown-menu .dropdown-item:hover" = list( color = "#fff", backgroundColor = "#2e8b57" ) ) ) ui <- dashboardPage( title = "Title", dark = NULL, help = NULL, theme = my_theme, # 应用自定义主题 sidebar = dashboardSidebar(disable = T), header = dashboardHeader( status = "primary", title = dashboardBrand( title = "My Dashboard", color = "primary" ), navbarMenu( id = "navmenu", navbarTab(tabName = "Item 1", text = "Item 1"), navbarTab( text = "Items", dropdownHeader("List"), navbarTab(tabName = "Sub Item 2", text = "Sub Item 2"), navbarTab(tabName = "Sub Item 3", text = "Sub Item 3"), navbarTab(tabName = "Sub Item 4", text = "Sub Item 4"), navbarTab(tabName = "Sub Item 5", text = "Sub Item 5"), navbarTab(tabName = "Sub Item 6", text = "Sub Item 6") ), navbarTab(tabName = "Item 7", text = "Item 7"), navbarTab(tabName = "Item 8", text = "Item 8") ) ), body = dashboardBody( tabItems( ) ) ) server <- function(input, output, session) { } shinyApp(ui, server)
关键说明:
navbar_light_color直接控制导航栏未激活状态下的navbarTab文本颜色,这里使用黄色十六进制值#ffd700- 通过
bs4dash_global自定义.dropdown-menu .dropdown-item的样式,将下拉菜单文本设为绿色#2e8b57,同时补充悬停样式优化交互体验 - 自定义主题需通过
theme = my_theme参数传入dashboardPage才能生效
内容的提问来源于stack exchange,提问作者Coppertank
相关产品推荐
相关产品推荐

