You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Plotly Dash的dbc.Row与dbc.Col实现目标不等宽网格布局

问题原因

你当前的写法未给dbc.Col指定固定宽度,默认会让同一行的列自动等分整行宽度,因此不同列数的行卡片宽度不一致,和预期效果不符。

修复后代码

所有列统一设置宽度为3(占12栅格的1/4,和第一行4列布局的单卡片宽度一致):

dbc.Row([
    dbc.Col([content], width=3),
    dbc.Col([content], width=3),
    dbc.Col([content], width=3),
    dbc.Col([content], width=3)
]),
dbc.Row([
    dbc.Col([content], width=3),
    dbc.Col([content], width=3),
    dbc.Col([content], width=3)
]),
dbc.Row([
    dbc.Col([content], width=3),
    dbc.Col([content], width=3)
])

如果需要适配不同尺寸的设备屏幕,可使用响应式宽度配置:

# 响应式规则:超小屏占满整行,小屏占1/2宽度,中屏占1/3宽度,大屏占1/4宽度
COL_SIZE = {"xs": 12, "sm": 6, "md": 4, "lg": 3}
# 可通过class_name调整列之间的间距,g-3为Bootstrap默认标准间距,数值越大间距越大
dbc.Row([
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE)
], class_name="g-3"),
dbc.Row([
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE)
], class_name="g-3"),
dbc.Row([
    dbc.Col([content], width=COL_SIZE),
    dbc.Col([content], width=COL_SIZE)
], class_name="g-3")

内容的提问来源于stack exchange,提问作者Napier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:18:03