You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在shinydashboard中通过server端借助shinyjs修改标题颜色

问题原因

shinydashboard 自带的标题样式优先级高于你自定义的.red类,所以新增的类样式被默认规则覆盖,没有生效。

解决方案

有两种可直接运行的实现方式:

  • 方式1:提高自定义CSS优先级,给颜色规则加上!important强制覆盖默认样式
library(shinydashboard)
library(shiny)
library(shinyjs)

header <- dashboardHeader(title='want to be red') |> 
  tagAppendAttributes(id='nn',.cssSelector = 'span')

side <- dashboardSidebar(
  useShinyjs(),
  inlineCSS(list('.red' = "color: red !important")),
  p(id = "p", "to red color")
)

body <- dashboardBody()

ui <- dashboardPage(header,side,body,title = 'nhanesR')

server <- function(input, output, session){
  toggleClass(id = 'nn', "red")
  toggleClass(id = 'p', "red")
}
shinyApp(ui,server)
  • 方式2:直接通过JS修改元素样式,不需要额外定义CSS类
library(shinydashboard)
library(shiny)
library(shinyjs)

header <- dashboardHeader(title='want to be red') |> 
  tagAppendAttributes(id='nn',.cssSelector = 'span')

side <- dashboardSidebar(
  useShinyjs(),
  p(id = "p", "to red color")
)

body <- dashboardBody()

ui <- dashboardPage(header,side,body,title = 'nhanesR')

server <- function(input, output, session){
  runjs("document.getElementById('nn').style.color = 'red'")
  runjs("document.getElementById('p').style.color = 'red'")
}
shinyApp(ui,server)

内容的提问来源于stack exchange,提问作者zhang jing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:24:03