在flexdashboard中单行是否可以放置超过4个valueBox?
解决方法
完全可以实现该需求。flexdashboard默认基于Bootstrap 12列栅格布局,单个valueBox默认占3列宽度,因此单行最多排布4个,你只需要手动调整每个valueBox的占用列宽即可实现一行6个的效果。
方法1:通过data-width属性直接指定列宽
12列栅格平分给6个valueBox,每个仅需占2列即可,给每个valueBox对应的小节添加data-width=2属性即可,示例代码如下:
--- title: "6个valueBox同行示例" output: flexdashboard::flex_dashboard --- # 仪表盘首页 ## Row {data-height=150} ### 指标1 {data-width=2} ```{r} flexdashboard::valueBox(123, "访问量", icon = "fa-users")
指标2 {data-width=2}
flexdashboard::valueBox(456, "转化率", icon = "fa-percent")
指标3 {data-width=2}
flexdashboard::valueBox(789, "下单量", icon = "fa-shopping-cart")
指标4 {data-width=2}
flexdashboard::valueBox(1011, "成交额", icon = "fa-yen-sign")
指标5 {data-width=2}
flexdashboard::valueBox(1213, "复购率", icon = "fa-repeat")
指标6 {data-width=2}
flexdashboard::valueBox(1415, "投诉量", icon = "fa-exclamation-triangle")
## 方法2:补充自定义CSS优化显示效果 如果调整宽度后出现文字拥挤、排版不协调的问题,可以添加自定义CSS调整valueBox的内边距、字体大小,示例如下: ```css .value-box { padding: 8px 10px; } .value-box .value { font-size: 22px; } .value-box .caption { font-size: 14px; }
注意事项
- 该配置适配PC端正常屏幕宽度,小屏移动设备下会触发响应式规则自动换行,属于正常表现
- 如果需要调整同 row 内的valueBox占比,只要保证同一行所有valueBox的
data-width总和为12即可
内容的提问来源于stack exchange,提问作者Miracle
相关产品推荐
相关产品推荐

