style app css r shiny slider reactive

css - app - tags$style shiny



Propiedades reactivas de CSS en R Shiny (1)

Me gustaría controlar selectivamente el escalado de fuentes con una barra deslizante. es posible?

He adjuntado un MRE que creo que demuestra dónde estoy estancado y qué estoy tratando de lograr.

if(!require(''pacman'')) {install.packages("pacman")} # Ensures that pacman is installed for auto-installation pacman::p_load(shiny, lipsum) # automatically installs and loads packages. ui <- fluidPage( # Sidebar with a slider input for font size sidebarLayout(sidebarPanel( sliderInput("font_size", "Font Size:", min = 1, max = 200, value = 70 ) ), mainPanel( wellPanel( id = "textPanel", style = "overflow-y:scroll; max-height: 50vh; font-size: 70%", #style = paste0("overflow-y:scroll; max-height: 50vh; font-size: ", # output$text_size,"70%"), paste0(lipsum[2:10], collapse = ""))))) # Define server logic server <- function(input, output) { output$text_size = renderText({input$font_size})} # Run the application shinyApp(ui = ui, server = server)


Puede usar shinyjs para ejecutar código JavaScript para cambiar cualquier CSS, en este caso el font-size .

library(shiny) library(shinyjs) ui <- fluidPage( shinyjs::useShinyjs(), sidebarLayout( sidebarPanel( sliderInput("font_size", "Font Size:", min = 1, max = 200, value = 70) ), mainPanel( wellPanel( id = "textPanel", style = "overflow-y:scroll; max-height: 50vh; font-size: 70%", paste0("Hello", collapse = "")) ) ) ) server <- function(input, output) { observeEvent(input$font_size, { runjs(paste0(''$("#textPanel").css("font-size","'', input$font_size, ''%")'')) }) } shinyApp(ui = ui, server = server)