блестящий: текстовое поле автоматически подстраивается под размер текста, а не только строку - PullRequest
0 голосов
/ 05 марта 2020

Я новенький с блеском, поэтому, пожалуйста, держись со мной!

Я хочу создать 4 одинаковых текстовых поля, которые описывают фотографию выше

ui1 <- (fluidPage(fluidRow(splitLayout(cellWidths = c("25%", "25%", "25%", "25%"), 
                                      tags$img(src = "Photo1.jpg", width = "100%"), 
                                      tags$img(src = "Photo2.jpg", width = "100%"), 
                                      tags$img(src = "Photo3.jpg", width = "100%"),
                                      tags$img(src = "Photo4.jpg", width = "100%"))),
                 fluidRow(splitLayout(cellWidths = c("25%", "25%", "25%", "25%"), 
                                      tags$h5("Photo 1", align = 'center', style = "color:#00A69C"), 
                                      tags$h5("Photo 2", align = 'center', style = "color:#00A69C"), 
                                      tags$h5("Photo 3", align = 'center', style = "color:#00A69C"), 
                                      tags$h5("Photo 4", align = 'center', style = "color:#00A69C"))),
                 fluidRow(splitLayout(cellWidths = c("25%", "25%", "25%", "25%"),
                                      wellPanel(tags$p("Photo 1 is text text text text text text text text text text text text text text text text text text text text")),
                                      wellPanel(tags$p("Photo 2 is text text text text text text text text text text text text text text text text text text text text")), 
                                      wellPanel(tags$p("Photo 3 is text text text text text text text text text text text text text text text text text text text text")), 
                                      wellPanel(tags$p("Photo 4 is text text text text text text text text text text text text text text text text text text text text"))))))


server1 <- (function(input, output){})

shinyApp(ui = ui1, server = server1)

Если я запускаю этот код в своем пользовательском интерфейсе, я получаю только строку текста для последней части, и я должен использовать горизонтальную полосу прокрутки, чтобы увидеть остальную часть моего текста. Вместо этого я хочу, чтобы моя wellPanel автоматически подстраивалась под размер текста, и мне больше не нужно прокручивать.

Кто-нибудь может мне помочь?

Спасибо!

1 Ответ

0 голосов
/ 05 марта 2020

Я использовал функцию column вместо splitLayout для текстовой части, и она работает.

library(shiny)   
ui1 <- (fluidPage(fluidRow(splitLayout(cellWidths = c("25%", "25%", "25%", "25%"), 
                                       tags$img(src = "Photo1.jpg", width = "100%"), 
                                       tags$img(src = "Photo2.jpg", width = "100%"), 
                                       tags$img(src = "Photo3.jpg", width = "100%"),
                                       tags$img(src = "Photo4.jpg", width = "100%"))),
                  fluidRow(splitLayout(cellWidths = c("25%", "25%", "25%", "25%"), 
                                       tags$h5("Photo 1", align = 'center', style = "color:#00A69C"), 
                                       tags$h5("Photo 2", align = 'center', style = "color:#00A69C"), 
                                       tags$h5("Photo 3", align = 'center', style = "color:#00A69C"), 
                                       tags$h5("Photo 4", align = 'center', style = "color:#00A69C"))),
                  fluidRow(
                    column(width = 3,wellPanel(tags$p("Photo 1 is text text text text text text text text text text text text text text text text text text text text"))),
                    column(width = 3,wellPanel(tags$p("Photo 2 is text text text text text text text text text text text text text text text text text text text text"))), 
                    column(width = 3,wellPanel(tags$p("Photo 3 is text text text text text text text text text text text text text text text text text text text text"))), 
                    column(width = 3,wellPanel(tags$p("Photo 4 is text text text text text text text text text text text text text text text text text text text text"))))

                  ))


server1 <- (function(input, output){})

shinyApp(ui = ui1, server = server1)
...