efb*_*own 2 css r xtable rstudio shiny
我用下面的虚拟表制作了一个简单的闪亮仪表板。当我运行它并且窗口太薄时,表的列越过框的边缘。如果我把窗户弄得足够宽,那么桌子就可以装在盒子里了。
谁能提供更一致的格式帮助?解决方案可能是使框和表具有固定的宽度,使表列的宽度随框的宽度而变化,或者其他原因。
问题的底部是每个状态的屏幕快照,用于说明。
用户界面
library(shinydashboard)
header <- dashboardHeader(title="Dashboard")
sidebar <- dashboardSidebar(sidebarMenuOutput("menu"))
body <- dashboardBody(
tabItems(
tabItem(tabName = "Home",
fluidRow(
column(width = 4,
box(title = "Column 1", width = NULL, solidHeader = TRUE,
tableOutput("Table1")),
box(
title = "Title 1", width = NULL, solidHeader = TRUE,
"Box content")
),
column(width = 4,
box(
title = "Column 2", width = NULL, solidHeader = TRUE,
tableOutput("Table2"))
),
column(width = 4,
box(title = "Column 2", width = NULL, solidHeader = TRUE),
box(title = "Title 3", width = NULL, solidHeader = TRUE)
)
)
)
)
)
dashboardPage(header, sidebar, body)
Run Code Online (Sandbox Code Playgroud)
服务器
library(magrittr)
library(xtable)
col1 <- 1:10
col2 <- runif(10)
col3 <- "alphabet soup"
col4 <- c(TRUE, TRUE, FALSE, FALSE, TRUE)
Frame1 <- data.frame(col3, col1, col2, col4, col2, col3)
Frame2 <- data.frame(col3, col3, col3, col4)
server <- function(input, output) {
output$menu <- renderMenu({
sidebarMenu(
menuItem("Home", tabName = "Home", icon = icon("home"))
)
})
output$Table1 <- renderTable({
xtable(Frame1)
})
output$Table2 <- renderTable({
xtable(Frame2)
})
}
Run Code Online (Sandbox Code Playgroud)

谢谢!
小智 5
添加此样式可以解决我的问题。
在custom.css中:
.content {
overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)
然后在闪亮的ui中将样式包含在css文件中:
tags$link(rel = "stylesheet", type = "text/css", href = "custom.css")
Run Code Online (Sandbox Code Playgroud)