Стили отдельных элементов bsTooltip (глянцевый BBS) - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь добавить всплывающие подсказки к различным кнопкам действий в моем блестящем приложении с помощью функции bsTooltip() пакета lovelyBS , и я хотел бы изменить ширину только для определенного поля всплывающей подсказки. Для этого я могу указать теги 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;}")))

, но в этом случае это не работает.

Большое спасибо за вашу помощь!

1 Ответ

1 голос
/ 10 октября 2019

Вы можете заключить свои actionButton и bsTooltip в div с идентификатором. Теперь вы можете выбрать 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)
...