【问题标题】:Bootstrap navbar logo in the center and items to the left und right中心的引导导航栏徽标和左侧和右侧的项目
【发布时间】:2019-12-06 22:49:26
【问题描述】:

我尝试使用引导程序制作一个合适的导航栏。

我试着在中间做一个标志,其余的在左边和右边。 当前的解决方案是不干净的,我问你一个建议,如何解决它。

问题:从徽标到左/右对象的长度不同,并且徽标不完美居中。 [导航栏][1]

当前html:

    <nav class="navbar navbar-expand-sm navbar-dark bg-dark fixed-top">
   <div class="container">
     <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarMenu">
       <span class="navbar-toggler-icon"></span>
     </button>
     <div class="collapse navbar-collapse" id="navbarMenu">
       <ul class="navbar-nav mr-auto">
         <li class="nav-item"><a href="#" class="nav-link">Status</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Download</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
      </ul>
      <a class="navbar-brand" href="#">
        <img src="/img/helmet.png" height="100" with="50" alt="">
      </a>
      <ul class="navbar-nav mr-auto">
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak Bot</a></li>
         <li class="nav-item"><a href="/places/" class="nav-link">Travel</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Plex</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Contact</a></li>
       </ul>
     </div>
   </div>
 </nav>

CSS

.collapse.navbar-collapse ul{
   margin: auto;
}
.navbar-brand {
  position: absolute;
  top: 0;
  left: 50%;
  text-align: center;
  margin: auto;
  font-size: 36px;
}

.bg-dark {
   background:transparent !important;
   background-image: url("/img/navbar.png") !important;
   min-height: 70px;
}

【问题讨论】:

  • 可能的原因可能是使用了 mr-auto。尝试使用 mr-30px 为左
      和 ml-30px 为右
        标签设置两侧的固定边距。您还应该检查图像本身是否填充了额外的空间,在这种情况下应该裁剪图像。
  • 徽标相对于下面的内容窗格居中(我测量过),因此容器上的边距可能已关闭
  • 一个建议,您可以在 SO 中发布您的 css 或任何代码,只要它被正确格式化为代码。所有代码内容前面必须有 4 个字母空格才能作为代码。

标签: php bootstrap-4 navbar


【解决方案1】:

您可以使用pull-right 类将项目向右对齐,但它需要更多修改才能正常工作。我已经使用您提供的链接创建了一个干净的解决方案。享受!

body { background-color: blueviolet !important; }
.navbar {
            position: relative;
            top:10px;
      }

      .brand {
            position: absolute;
            left: 50%;
            margin-left: -50px !important;
            display: block;
       }
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>

     <!--If you want to add background image add it to the class below-->
        <div class="container-fluid"><!--add this line-->
           
            <div class="row"><!--add this line-->
                <div class="col-md-12"><!--add this line-->
                    <nav class="navbar navbar-expand-lg navbar-light bg-light">
                            <div class="container-fluid">
                             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
                                     <span class="navbar-toggler-icon"></span>
                             </button>
                 
                             <a class="brand" style="margin: 0; float: none;" href="#">
                                 <!--add logo source-->
                                 <img src="icon.png" alt="logo" title="logo" height="100" with="50" />
                             </a>
                 
                             <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
                 
                                 <ul class="navbar-nav mr-auto">
                                     <li class="nav-item active"><a href="#" class="nav-link">Status</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Download</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
                                 </ul>
                 
                                 <ul class="navbar-nav pull-right">
                                     <li class="nav-item"><a href="#" class="nav-link">Teamspeak Bot</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Travel</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Plex</a></li>
                                     <li class="nav-item"><a href="#" class="nav-link">Contact</a></li>
                                 </ul>
                             </div>
                           </div>
                         </nav>
                </div><!--add this line-->
            </div><!--add this line-->

            <!--New Row for the main content-->
            <div class="row">
                <div class="col-md-12">
                   <!--Main content-->
                </div>
            </div>
        </div><!--add this line-->

【讨论】:

  • 到目前为止一切顺利,但现在导航栏不在 bg 上方。我试过 z-index: -1;在导航栏上,但它没有工作。
  • @Ark 请解释清楚,“bg 之上”是什么意思
  • @Ark 检查我的更新答案,我已将导航栏放在 container-fluid 内,这为顶部提供了额外的空间。
【解决方案2】:

将第二个标签上的类更改为 ml-auto,因为右侧窗格必须与左侧边距对齐。这应该解决它。

<nav class="navbar navbar-expand-sm navbar-dark bg-dark fixed-top">
   <div class="container">
     <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarMenu">
   <span class="navbar-toggler-icon"></span>
     </button>
     <div class="collapse navbar-collapse" id="navbarMenu">
       <ul class="navbar-nav mr-auto">
         <li class="nav-item"><a href="#" class="nav-link">Status</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Download</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak</a></li>
      </ul>
      <a class="navbar-brand" href="#">
        <img src="/img/helmet.png" height="100" with="50" alt="">
      </a>
      <ul class="navbar-nav ml-auto"> <!-- change here -->
         <li class="nav-item"><a href="#" class="nav-link">Teamspeak Bot</a></li>
         <li class="nav-item"><a href="/places/" class="nav-link">Travel</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Plex</a></li>
         <li class="nav-item"><a href="#" class="nav-link">Contact</a></li>
       </ul>
     </div>
   </div>
 </nav>

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 2015-09-27
    • 2023-03-13
    • 2019-04-22
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    相关资源
    最近更新 更多