我找不到在 bslib 侧边栏中使用填充项目的方法。
在本例中,我尝试将一个元素放在侧边栏的底部。
Layout_sidebar 是可填充的,但只有主区域是可填充的:
这会将顶部和底部元素正确放置在主区域中:
library(bslib)
ui <- page_fillable(
layout_sidebar(
# sidebar = sidebar(
card(
fill = TRUE,
fillable = TRUE,
card_body(
fill = FALSE,
h1("top")
),
card_body(
fill = TRUE
),
card_body(
fill = FALSE,
h1("bottom")
)
)
# )
)
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
我希望在侧边栏中有相同的行为
library(bslib)
ui <- page_fillable(
layout_sidebar(
sidebar = sidebar(
fillable = TRUE,
card(
fill = TRUE,
fillable = TRUE,
card_body(
fill = FALSE,
h1("top")
),
card_body(
fill = TRUE
),
card_body(
fill = FALSE,
h1("bottom")
)
)
)
)
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
我尝试在侧边栏上使用 as_fill_carrier() 但它返回此警告: 警告:
bindFillRole()
仅适用于 htmltools::tag() 对象(例如 div()、p() 等),不适用于“bslib_sidebar”类型的对象。
我认为您正在侧边栏中寻找以下内容:
library(bslib)
ui <- page_fillable(
layout_sidebar(
sidebar = sidebar(
fillable = TRUE,
card(
fill = TRUE,
fillable = TRUE,
card_body(
fill = FALSE,
h1("top")
),
card_body(
fill = TRUE
),
card_body(
fill = FALSE,
h1("bottom",style = "margin-top:400px;")
)
)
)
)
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
只需一点 CSS 即可将底部元素向下推:
card_body(
fill = FALSE,
h1("bottom",style = "margin-top:400px;")
)
)
如果您想进一步向下移动元素,可以使用 CSS
margin-top
参数。
希望这有帮助!