在Quarto文档中结合bslib::layout_column_wrap()使用grid-column CSS属性
解决方法
方法一:直接给第一个value box添加内联样式
无需额外CSS,直接在第一个value_box()中通过style参数指定跨列样式,既精准又保留自适应特性:
bslib::layout_column_wrap( width = NULL, fill = FALSE, class = "d-grid", style = htmltools::css(grid_template_columns = "repeat(auto-fill, minmax(200px, 1fr))"), bslib::value_box("Value box", 1, style = "grid-column: span 2"), bslib::value_box("Value box", 2) )
方法二:修正全局CSS选择器
如果想用全局CSS实现,需要修正两个错误:将伪类冒号改为类选择器的点号,同时指定仅作用于第一个子元素:
#| include: false div.bslib-column-wrap div.html-fill-container:first-child { grid-column: span 2; }
原CSS失效原因:
- 错误使用
:html-fill-container,类选择器需用.而非: - 未限定作用于第一个子元素,会导致所有value box都跨列
方法三:自定义类名(更易维护)
给第一个value box添加自定义类,再通过CSS定位:
R代码
bslib::layout_column_wrap( width = NULL, fill = FALSE, class = "d-grid", style = htmltools::css(grid_template_columns = "repeat(auto-fill, minmax(200px, 1fr))"), bslib::value_box("Value box", 1, class = "span-2-col"), bslib::value_box("Value box", 2) )
CSS代码
#| include: false .span-2-col { grid-column: span 2; }
内容的提问来源于stack exchange,提问作者Giovanni Colitti
相关产品推荐
相关产品推荐

