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

Navbar链接因添加登录注册按钮偏离居中问题求助

导航栏链接居中问题

导航栏链接未居中

添加「登录(Log In)」和「注册(Sign Up)」按钮后,导航栏的链接位置偏移,无法完美居中,请问原因是什么?

对应代码:

<nav class="navbar navbar-expand-lg navbar-dark ftco_navbar bg-dark ftco-navbar-light" id="ftco-navbar">
    <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#ftco-nav"
            aria-controls="ftco-nav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="fa fa-bars"></span> Menu
        </button>
        <div class="collapse navbar-collapse" id="ftco-nav">
            <ul class="navbar-nav mx-auto">
                <li class="nav-item <?= (current_url() == base_url('home')) ? 'active' : '' ?>">
                    <a href="<?= base_url('home') ?>" class="nav-link">Home</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('contact')) ? 'active' : '' ?>">
                    <a href="<?= base_url('contact') ?>" class="nav-link">Contact</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('dashboard')) ? 'active' : '' ?>">
                    <a href="<?= base_url('dashboard') ?>" class="nav-link">Dashboard</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('dashboardF')) ? 'active' : '' ?>">
                    <a href="<?= base_url('dashboardF') ?>" class="nav-link">Firebase Testing</a>
                </li>
            </ul>
            <div class="d-flex ms-auto">
                <a href="<?= base_url('login') ?>" class="btn btn-outline-light me-2">Log In</a>
                <a href="<?= base_url('signup') ?>" class="btn btn-primary">Sign Up</a>
            </div>
        </div>
    </div>
</nav>

问题原因

navbar-nav mx-auto原本是让导航列表在容器内水平居中,但右侧按钮容器的ms-auto会占据右侧空间,导致导航列表的居中是扣除按钮容器宽度后的剩余空间居中,而非整个导航栏的绝对居中。

解决方法

方法1:拆分结构(推荐)

将按钮组移到collapse容器外,让导航链接容器独立占据中间区域:

<nav class="navbar navbar-expand-lg navbar-dark ftco_navbar bg-dark ftco-navbar-light" id="ftco-navbar">
    <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#ftco-nav"
            aria-controls="ftco-nav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="fa fa-bars"></span> Menu
        </button>
        <div class="collapse navbar-collapse d-flex justify-content-center align-items-center" id="ftco-nav">
            <ul class="navbar-nav">
                <li class="nav-item <?= (current_url() == base_url('home')) ? 'active' : '' ?>">
                    <a href="<?= base_url('home') ?>" class="nav-link">Home</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('contact')) ? 'active' : '' ?>">
                    <a href="<?= base_url('contact') ?>" class="nav-link">Contact</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('dashboard')) ? 'active' : '' ?>">
                    <a href="<?= base_url('dashboard') ?>" class="nav-link">Dashboard</a>
                </li>
                <li class="nav-item <?= (current_url() == base_url('dashboardF')) ? 'active' : '' ?>">
                    <a href="<?= base_url('dashboardF') ?>" class="nav-link">Firebase Testing</a>
                </li>
            </ul>
        </div>
        <div class="d-flex">
            <a href="<?= base_url('login') ?>" class="btn btn-outline-light me-2">Log In</a>
            <a href="<?= base_url('signup') ?>" class="btn btn-primary">Sign Up</a>
        </div>
    </div>
</nav>

这样导航链接容器通过justify-content-center实现绝对居中,按钮组独立在右侧,互不影响。

方法2:绝对定位按钮组

给导航栏添加相对定位,按钮组用绝对定位脱离文档流,不影响导航列表的居中计算:

#ftco-navbar {
    position: relative;
}
.btn-group-container {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

修改HTML中按钮容器的类:

<div class="d-flex btn-group-container">
    <a href="<?= base_url('login') ?>" class="btn btn-outline-light me-2">Log In</a>
    <a href="<?= base_url('signup') ?>" class="btn btn-primary">Sign Up</a>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:26:05