如何为Shiny中的selectInput分别控制标签和选择文本的字体大小样式?

时间:2017-07-18 23:25:19

标签: html css r user-controls shiny

我在Shiny中有一个selectInput小部件。

想要分别控制label参数的字体大小,以及小部件本身的输入文本(即choices的文本和selected参数)。

最初的[style-less]输出如下所示:

selectInput(inputId = "inId", label = "Different Font Size...", choices = "...From This")

enter image description here

我尝试使用div(),如此:

div(style = "font-size: 8px", 
    selectInput(inputId = "inId", label = "Different Font Size...", choices = "...From This")

)

缩小了label文本和输入文本(即来自choices的文本)。

enter image description here

  • 注意:这与对div(style = ...)使用此textInput方法形成对比,后者仅影响label文本(而非输入文本)。

    • 在这种情况下,我会然后tags$style("#inId {font-size:8px;}")函数后使用textInput来分别修改输入字体大小。

      div(style = "font-size: 8px", 
          textInput(inputId = "inId", label = "Different Font Size...", value = "...From This")
      ), tags$style("#inId {font-size:14px;}")
      

但是, 使用selectInput()无法正常工作。

  • tag$style(...)包装器后指定div(style = ...)似乎对生成的文本样式没有任何作用。

      div(style = "font-size: 8px", 
          selectInput(inputId = "inId", label = "Different Font Size...", choices = "...From This")
      ), tags$style("#inId {font-size:14px;}")
      )
    

那我该怎么做?

如何使用label小部件的choicesselectInput文本控制文本样式(特别是字体大小)单独光泽吗

  • 同样,我的目标是实现以下功能:

    enter image description here

如果重要:我使用shiny_1.0.3和R版本3.4.0

1 个答案:

答案 0 :(得分:2)

您可以使用单独的字体大小在selectInput()中包装整个div()以及标签本身。标签的样式将覆盖外部div的样式。

shinyApp(
  ui = fluidPage(
    div(style = "font-size:20px;",
      selectInput(inputId = "inId", label = div(style = "font-size:80px", "Different Font Size..."), 
                  choices = c("...From This", "Test")
                  )
      )
  ),
  server = function(input, output) {

  }
)

我希望这会有所帮助 干杯