我正在尝试制作一个包含3个主题的仪表板。因此,我已经制作了3个盒子,但我想要实现的是主页面中的3个盒子,它们将覆盖页面的整个宽度,但它们非常窄。 据我所知,页面的整个宽度是12个单位,所以我制作了这段代码:
library(shiny)
library(shinydashboard)
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "main", icon = icon("dashboard")),
menuItem("Widgets", icon = icon("th"), tabName = "widgets")
)
)
body <- dashboardBody(
tabItems(
tabItem(tabName = "main",
tags$head(
tags$style(HTML("
h2,h4{
text-align: center;
}
"
))
),
h2("Title"),
h4("Dashboard"),
fluidRow(
column(4,
box(title="Advance Analysis Tools", hr(),
tags$ul( tags$li("Object"), tags$li("Object"), tags$li("Object"), tags$li("Object") ))),
column(4,
box(title="Quality",hr(),
tags$ul( tags$li("Object"),tags$li("Object")) )),
column(4,
box(title="Operation",hr(),
tags$ul( tags$li("Object"),tags$li("Object"),tags$li("Object"),tags$li("Object"), tags$li("Object"), tags$li("Object") )))
)
)
)
)
ui <- dashboardPage(
dashboardHeader(title = "Dashboard"),
sidebar,
body
)
server <- function(input, output) {
}
shinyApp(ui, server)
但是3个盒子没有正确传播。
请指教。
提前致谢,
迈克尔
答案 0 :(得分:1)
box()
函数也有一个宽度参数,就像你用于column()
函数一样。
您可能已经知道12是该参数的最大值。
请注意,框的宽度与列宽有关。宽度参数为4的列(包括宽度参数为12的框)会生成一个完全填充该框并且宽度为4的列。
所以你可以使用类似的东西。
column(4,
box(title="Operation",hr(), width = 12, ...
如果你想摆脱之间的空格,请使用sthg:
offset = 0, style='padding:0px;'
见这里:shiny fluidrow column white space