我试图通过ShinyBS软件包的bsTooltip()功能向我的闪亮应用程序中的不同操作按钮添加一些工具提示,并且我想仅修改特定工具提示框的宽度。为此,我可以在UI的开头指定HTML标记并直接修改CSS,但是如果使用简单元素.tooltip {...},则会修改代码中每个工具提示的宽度:

在下面,您可以找到带有两个不同操作按钮的最小可复制示例:

library(shiny)
library(shinyBS)

library(shiny)

ui <- fluidPage(

  tags$head(tags$style(HTML(".tooltip {width: 300px;}"))),

  br(),

  actionButton(inputId = "button1",
               label = "First"),
  bsTooltip(id = "button1",
            title = "Bonjour!",
            placement = "right",
            trigger = "hover"),

  br(),
  br(),

  actionButton(inputId = "button2",
               label = "Second"),
  bsTooltip(id = "button2",
            title = "Hello!",
            placement = "right",
            trigger = "hover")

)

server <- function(input, output, session) {

}

shinyApp(ui, server)


我以前就处于这种情况,例如,当我不得不修改特定textInput()小部件的color of the placeholder时。为此,我在HTML()函数中指定了:

tags$head(tags$style(HTML("#textinput_ID::placeholder {color: #EEE1525;}")))


但这似乎在这种情况下不起作用。

非常感谢你的帮助!

最佳答案

您可以将actionButtonbsTooltip包裹在具有ID的div中。现在,您可以通过其ID选择此div,并且仅在其中设置工具提示的样式。

library(shiny)
library(shinyBS)

ui <- fluidPage(

  tags$head(tags$style(HTML("#button1_div .tooltip {width: 300px;}"))),

  br(),
  div(id='button1_div',
      actionButton(inputId = "button1",
                   label = "First"),
      bsTooltip(title = "Bonjour!",
                placement = "right",
                trigger = "hover")),

  br(),
  br(),

  actionButton(inputId = "button2",
               label = "Second"),
  bsTooltip(id = "button2",
            title = "Hello!",
            placement = "right",
            trigger = "hover")

)

server <- function(input, output, session) {

}

shinyApp(ui, server)

关于html - 设置单个bsTooltip(shinyBS)元素的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58320525/

10-11 22:13
查看更多