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

使用Bootstrap组件Row与Column时的Dash布局问题

Dash仪表盘布局对齐修复方案

你遇到的布局问题核心是栅格宽度设置层级错误、父级高度规则缺失,按以下方式修改代码即可实现需求:

Dash Layout

修改要点

  • 把原来写在内部2、3列上的width=3挪到包裹它们的左侧外层Col上,避免内部宽度限制撑出多余空白
  • 给最外层的Row加className="g-0 align-items-stretch",g-0用来取消列之间的默认间距实现贴合,align-items-stretch让所有子列自动撑满整个Row的高度,右侧列不需要手动写100%高度也能自适应
  • 删掉左侧内部两个行外层多余的html.Div嵌套,减少不必要的DOM结构干扰布局

修复后完整代码

import dash
from dash import html
import dash_bootstrap_components as dbc

app = dash.Dash(external_stylesheets=[dbc.themes.BOOTSTRAP])
app.title = " Dashboard"
app.layout = dbc.Container(
    [
        dbc.Row(
            [
                # 左侧列:包含2、3两个行
                dbc.Col(
                    [
                        dbc.Row(
                            dbc.Col(
                                html.Div(html.B('2')),
                                style={'height': '80px', "border": "1px black solid"}
                            )
                        ),
                        dbc.Row(
                            dbc.Col(
                                html.Div(html.B('3')),
                                style={'height': '900px', "border": "1px black solid"}
                            )
                        )
                    ],
                    width=3 # 左侧整列占3份栅格宽度
                ),
                # 右侧大列:自动占满剩余宽度,高度自动撑满和左侧对齐
                dbc.Col(
                    html.Div(html.B('1')),
                    style={"border": "1px black solid"}
                )
            ],
            className="g-0 align-items-stretch" # 取消列间距、子元素高度自适应撑满
        )
    ], 
    fluid = True
)

if __name__ == '__main__':
    app.run_server(debug=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:04