我正在使用fillPage()
处理整个页面。为了使框能够垂直拉伸,定义此框的所有元素都必须具有style = "height: 100%"
属性(或者有人告诉我)。有没有一种方法可以为元素和所有子元素附加/更新style
属性?
我已经提出了一个适用于我的情况的实现方式,但是我可能缺少一些细节。
library(htmltools)
tagAppendAttributesAll <- function(x, ...) {
if (!is.list(x)) return(x)
if (inherits(x, "shiny.tag.list")) {
x[] <- purrr::map(x[], tagAppendAttributesAll, ...)
x
} else {
x <- tagSetChildren(
x,
list = purrr::map(x$children[], tagAppendAttributesAll, ...)
)
tagAppendAttributes(x, ...)
}
}
tagSetFullHeightAll <- function(x) {
tagAppendAttributesAll(x, style = "height: 100%;")
}
print(tagSetFullHeightAll(
div(
div(
div("test"),
style = "height: 400px; "
)
)
))
#> <div style="height: 100%;">
#> <div style="height: 400px; height: 100%;">
#> <div style="height: 100%;"></div>
#> </div>
#> </div>
由reprex package(v0.2.1.9000)于2019-04-29创建
答案 0 :(得分:0)
也许我误会了你的问题。您是否尝试过使用单位“ vh”。在我的一个闪亮应用程序中,我正在使用以下行:
leafletOutput(“ rutMap”,width ='100%',height ='75vh')