设置带有闪亮仪表板的框的最小/最大宽度 [R]

Meg*_*gan 5 r shiny shinydashboard

我正在使用闪亮的仪表板来显示一些图,我将其放入框中。我发现,在默认宽度下,当应用程序未最大化时,框太小。如果我更改宽度,那么我可以在打开应用程序时使它们达到正确的大小,但是当窗口最大化时它们太大,并且看起来被拉伸,或者至少不必要地大。这是因为宽度参数是动态的,因此会响应屏幕尺寸。

理想情况下,我想保留这个动态元素,但设置框的最小和最大宽度。如果这是不可能的,那么我想设置一个固定的宽度。

可能这需要一些 css 知识,而我缺乏这些知识!

非常精简的示例代码:

library("shiny")
library("shinydashboard")

sidebar <- dashboardSidebar()

body <- dashboardBody(
            fluidRow(
              box(width = 12)
              )
            )


ui <- dashboardPage(dashboardHeader(title = "Example"),
                sidebar,
                body
                )

server <- function(input, output) {
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

Flo*_*ian 6

我通常倾向于使用 Bootstrap 的网格系统来解决此类布局问题。您可以将其应用到您的示例中,如下面的代码片段所示。请注意,我添加了第二个框来更好地说明行为,您可以使用类参数以使其符合您所需的行为。希望这可以帮助!

library("shiny")
library("shinydashboard")

sidebar <- dashboardSidebar()

body <- dashboardBody(
  fluidRow(
    div(class = "col-sm-12 col-md-6 col-lg-4",
    box(width = '100%', title= 'This is the first test box')
    ),
    div(class = "col-sm-12 col-md-6 col-lg-4",
        box(width = '100%', title= 'This is the second test box')
    )
  )
)


ui <- dashboardPage(dashboardHeader(title = "Example"),
                    sidebar,
                    body
)

server <- function(input, output) {
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)