在rShiny中设置checkboxGroupButtons标签的样式?

fhg3lkii  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(205)

我正在尝试取消rShiny中checkboxGroupButtons的粗体标签。我尝试过使用HTML,它可以进行斜体显示,但默认设置仍然是粗体文本。

output$indicSelectgraph <- renderUI(checkboxGroupButtons( "indicGraph", label = HTML("<b>Select Indicator(s)</b> <i>(min. 1)</i>"), choices=c(unique(dataset$Indicator))))

结果是:here
我想也许我可以添加一个fluidRow行,在它上面粘贴一个标签,然后将标签留空,但它不起作用:

fluidRow(HTML("Select Indicator(s)"), 
                style = "font-weight:bold")
       fluidRow(HTML("<i>(min 1.)</i>")), 
               style = "font-weight:100")
output$indicSelectgraph <- renderUI(checkboxGroupButtons( "indicGraph", choices=c(unique(dataset$Indicator))))

有人有解决办法吗?

qyzbxkaa

qyzbxkaa1#

你需要添加CSS来实现这一点。在这里查看几种将CSS添加到闪亮应用程序的方法:Using custom CSS in your app
要修改输入(或任何其他Shiny元素)中的元素,您需要确定要更改的CSS div或类。要做到这一点,您可以使用您的shiny应用程序上的导航器检查器(CTRL+SHIFT+I或右键单击-〉检查),并搜索HTML和CSS代码以找到您的元素。然后,您可以直接在检查器中尝试几个修改,并将其复制粘贴到您的闪亮代码中。
如果你想改变页面的所有输入,你可以改变你的对象的类的CSS。如果你只想改变一个,你需要改变你的对象的CSS id。在Shiny中,大多数时间都是inputId。
所以这里你想改变输入“indicGraph”的标签。所以你需要修改对象#indicGraph-label的CSS。它总是这样写的(inputId-element),所以检查浏览器的检查器会很有帮助。
就在上面,为了去除标签上的粗体效果,我将CSS属性font-weight添加回normal。默认值为700(粗体)。

ui <- fluidPage(
  tags$style(HTML("
  #indicGraph-label {
    font-weight: normal;
    }
  ")),
  uiOutput('indicSelectgraph')
)

server <- function(input, output, session) {
  output$indicSelectgraph <- renderUI(
    checkboxGroupButtons(
      "indicGraph", 
      label = 'Select Indicator',
      choices=c('a', 'b'))
    )
}
shinyApp(ui, server)

相关问题