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

如何将Shiny导航栏标签文字拆分为两行并居中?

Shiny导航栏标签两行文字居中解决方案

要实现导航栏标签内两行文字居中,结合HTML换行标签和CSS样式调整即可完成,具体操作如下:

1. 单个标签页独立设置

直接在tabPanel的标题中用HTML包裹内容,通过<br>实现文字换行,同时添加text-align:center样式让文字居中:

gene_expressions_sign_tab <- shiny::tabPanel(
  title = HTML('<div style="text-align: center;">Gene<br>Expression</div>'),
  icon = icon("chart-line"),
  value = "Gene",
  wellPanel(
    fluidRow("etc")
  )
)

2. 全局统一设置所有标签

如果需要让所有导航栏标签都应用两行文字居中的样式,可在navbarPage中添加全局CSS规则:

ui <- navbarPage(
  "应用标题",
  # 全局设置导航栏标签文字居中
  tags$style(HTML("
    .nav-tabs>li>a {
      text-align: center;
      /* 可选:设置最小宽度,避免标签过窄导致文字挤压 */
      min-width: 100px;
    }
  ")),
  # 已定义的标签页
  gene_expressions_sign_tab,
  # 其他示例标签页
  shiny::tabPanel(
    title = HTML("Sample<br>Data"),
    icon = icon("table"),
    value = "Sample"
  )
)

关键说明

  • <br>标签用于强制将文字拆分为两行
  • text-align:center实现文字在标签容器内水平居中
  • 可选的min-width属性可避免标签宽度过窄,优化文字排版效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:25:59