首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理仪表符引导组件(dbc)导航条元素中的按钮对齐?

如何管理仪表符引导组件(dbc)导航条元素中的按钮对齐?
EN

Stack Overflow用户
提问于 2022-07-11 12:46:45
回答 1查看 625关注 0票数 0

我想我的问题是如何格式化html,它是自动创建的。

我需要一个带几个按钮的肚脐。一个在左边,两个在右边。在这些按钮之间我需要一些短信。

我在下面的代码中要求这样做:

代码语言:javascript
复制
navbar = dbc.NavbarSimple(children=[
    dbc.Button(
        "Меню",
        id="menu_togle",
        n_clicks=0,
        color="secondary",
    ),
    html.H1(children=dashboard_name, style={'textAlign': 'center', 'color':'white'}),
    dbc.Container([
        dbc.Button(
            "Инструкция",
            id="instruction",
            n_clicks=0,
            color="secondary",
            className="me-1"
        ),
        dbc.Button(
            "Изменение параметров дашборда",
            id="open_offcanvas_scrollable",
            n_clicks=0,
            color="secondary",
            className="me-1"
        ),
    ],
    ),
],
color="dark",
dark=True,
fluid=True,
fixed = 'top',
links_left=True,
style={'display': 'flex', 'justify-content': 'space-between'}
)

但是HTML看起来像wierd -有很多div:

代码语言:javascript
复制
<nav color="dark" class="navbar navbar-expand-md navbar-dark bg-dark fixed-top" style="display: flex; justify-content: space-between;">
  <div class="container-fluid">
    <button n_clicks="0" n_clicks_timestamp="-1" type="button" aria-label="Toggle navigation" class="navbar-toggler collapsed">
    <span class="navbar-toggler-icon"></span>
    </button>
    <div class="navbar-collapse collapse">
      <div class="me-auto navbar-nav">
        <button id="menu_togle" class="btn btn-secondary">Меню</button>
        <h1 style="text-align: center; color: white;">Дашборд по репрезентативности экспедиции</h1>
        <div class="container">
          <button id="instruction" class="me-1 btn btn-secondary">Инструкция</button>
          <button id="open_offcanvas_scrollable" class="me-1 btn btn-secondary">Изменение параметров дашборда</button>
        </div>
      </div>
    </div>
  </div>
</nav>

我添加到navbar元素中的所有类都只保留在navbar元素中,而不是在那些div中。

我也试图在dbc.Row中做到这一点,但这也没有帮助(我猜也是出于同样的原因)。

元素如下所示:肚脐上的按钮

我很感激你能提供的任何帮助。

编辑的

我已经尝试了一些类似于我需要的dbc.ButtonGroup,但以前的一些水平的div仍然有我无法控制的边际。

代码示例:

代码语言:javascript
复制
navbar = dbc.NavbarSimple(children=[
        dbc.ButtonGroup([
        
        dbc.Button(
            "Меню",
            id="menu_togle",
            n_clicks=0,
            color="secondary",
            className="me-5"
        ),
        html.H1(children=dashboard_name, style={'textAlign': 'center', 'color':'white'}, className="me-5, ms-5"),
        dbc.ButtonGroup([
            dbc.Button(
                "Инструкция",
                id="instruction",
                n_clicks=0,
                color="secondary",
                className="me-1, ms-5"
            ),
            dbc.Button(
                "Изменение параметров дашборда",
                id="open_offcanvas_scrollable",
                n_clicks=0,
                color="secondary",
                className="ms-1"
            ),
        ],
        ),
        
        ])
    ],
    color="dark",
    dark=True,
    fluid=True,
    fixed = 'top',
    links_left=True,
    style={'display': 'flex', 'justify-content': 'space-between'}
    )

代码语言:javascript
复制
<nav color="dark" class="navbar navbar-expand-md navbar-dark bg-dark fixed-top" style="display: flex; justify-content: space-between;">
  <div class="container-fluid">
  <button n_clicks="0" n_clicks_timestamp="-1" type="button" aria-label="Toggle navigation" class="navbar-toggler collapsed">
  <span class="navbar-toggler-icon"></span>
  </button>
    <div class="navbar-collapse collapse">
      <div class="me-auto navbar-nav">
        <div role="group" class="btn-group">
        <button id="menu_togle" class="me-5 btn btn-secondary">Меню</button>
        <h1 class="me-5, ms-5" style="text-align: center; color: white;">Дашборд по репрезентативности экспедиции</h1>
          <div role="group" class="btn-group">
            <button id="instruction" class="me-1, ms-5 btn btn-secondary">Инструкция</button>
            <button id="open_offcanvas_scrollable" class="ms-1 btn btn-secondary">Изменение параметров дашборда</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</nav>

更新的导航栏,右边有边距

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-18 11:07:30

我不认为这是唯一正确的方法,但我可以用这个方法来修正页边距。

https://community.plotly.com/t/margins-in-dbc-components/65987/4?u=vokiatik

这就是我所补充的:

代码语言:javascript
复制
.navbar-nav{
    margin-right: 0;
    width: 100%;
}


#button-container{
    width: 100%;
    justify-content: space-between;
    text-align: end;
}

.btn-group-vertical>.btn, .btn-group>.btn {
    position: relative;
    flex: inherit;
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72938842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档