样式化单个 bsTooltip (shinyBS) 元素

Style individual bsTooltip (shinyBS) elements

我正在尝试通过 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() 小部件的 时。为此,我在 HTML() 函数中指定了:

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

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

非常感谢您的帮助!

您可以将 actionButtonbsTooltip 包装在带有 ID 的 div 中。现在你可以 select 这个 div 通过它的 id 并且只在里面设置工具提示的样式。

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)