如何修改R Shiny中titlePanel的背景色与文字颜色?
报错原因
原有代码存在两个语法错误,导致样式不生效且触发报错:
tags$style()内部需要传入标准CSS语法规则,不能直接以R键值对的形式写样式属性- 未指定CSS规则的作用目标元素,样式无法绑定到标题栏对应的DOM节点
可行实现方案
以下代码可以实现仅标题区域蓝底白字、居中的效果,不会影响页面其他内容样式:
library(shiny) ui <- fluidPage( # 定义仅作用于自定义标题容器的CSS规则 tags$style(HTML(" .custom-title-bar { background-color: blue; color: #ffffff; padding: 12px; text-align: center; } ")), # 给标题面板套上自定义类,绑定上述样式 div( class = "custom-title-bar", titlePanel("This Is My Title") ), # 下方正常编写仪表板其余业务内容即可 # 示例占位内容 p("其余页面内容不受标题样式影响") ) server <- function(input, output) { # 编写服务端逻辑 } shinyApp(ui = ui, server = server)
调整说明
- 如果需要修改标题字号、内边距、圆角等效果,直接在
.custom-title-bar对应的CSS块内添加属性即可,例如新增font-size: 26px;即可调大标题字号 - 不要将CSS属性直接作为
tags$style()的函数参数传入,必须包裹为合法的CSS字符串,否则会触发参数类型报错
内容的提问来源于stack exchange,提问作者James Dailey
相关产品推荐
相关产品推荐

