【问题标题】:How to center Icon in navbar with bootstrap如何使用引导程序将导航栏中的图标居中
【发布时间】:2019-09-21 16:10:10
【问题描述】:

我正在尝试创建导航栏,左侧有一个汉堡包,图标居中。我该如何响应式地做到这一点?

  1. 我尝试使用 mx-auto (margin-left margin-right: auto) 但由于左侧有一个内联块,所以居中的图标被推到左侧。
  2. 我也尝试过制作导航栏 d-flex 并添加 justify-content-center 但它什么也没做...

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div class="pos-f-t">
  <nav id="navbar" class="navbar navbar-expand-sm fixed-top navbar-dark bg-dark d-flex flex-row">
    <button class="navbar-toggler d-flex justify-content-start" type="button">
        <span class="navbar-toggler-icon"></span>
    </button>
    <img src="https://picsum.photos/20" alt="apple icon" class="d-flex justify-content-center mx-auto" id="icon">

  </nav>
</div>

预期结果: - 汉堡保持在左侧,但苹果图标保持在中心。

实际结果: - 苹果图标被汉堡稍微向右推, - 或者根本没有改变,只是坐在右侧。

【问题讨论】:

  • 能否请您发布 HTML 和 CSS 代码,可以运行这些代码来检查问题或创建一个 JSfiddle / Codepen。
  • 您是否希望它位于整个导航栏的中心,而不是位于汉堡图标之后的导航栏部分?

标签: html css bootstrap-4


【解决方案1】:

这与您上面的代码完美配合。检查下面的屏幕截图。

确保您已添加 bootstrap4 css 文件

【讨论】:

  • 我认为 OP 希望它位于整个导航栏的中心,而不是位于汉堡图标之后的导航栏部分
  • @NanditaSharma 但这不是上面提到的
  • 我有一个疑问,这就是为什么我向 OP 询问了同样的问题。
【解决方案2】:

Lewis,您的代码运行良好。我刚刚添加了 bootstrap4 CSS 文件。下面是我的代码。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
<div class="pos-f-t">
        <nav
          id="navbar"
          class="navbar navbar-expand-sm fixed-top navbar-dark bg-dark d-flex flex-row"
        >
          <button class="navbar-toggler d-flex justify-content-start" type="button">
            <span class="navbar-toggler-icon"></span>
          </button>
          <img
            src="http://www.newdesignfile.com/postpic/2012/09/small-apple-logo_154074.jpg"
            alt="apple icon"
            class="d-flex justify-content-center mx-auto"
            id="icon"
            width="50px"
          />
        </nav>
</div>

【讨论】:

    【解决方案3】:

    您可以在此处为导航栏添加一个等于导航栏切换按钮宽度(宽度 = 56px)的右填充。它已经有 16px 的右填充。所以,我们的总内边距应该是 16px + 56px = 72px。

    这将使图像在导航栏的中心完全对齐。

    .navbar-fix {
      padding-right: 72px !important;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    <div class="pos-f-t">
      <nav id="navbar" class="navbar navbar-expand-sm fixed-top navbar-dark bg-dark d-flex flex-row navbar-fix">
        <button class="navbar-toggler d-flex justify-content-start" type="button">
            <span class="navbar-toggler-icon"></span>
        </button>
        <img src="https://picsum.photos/20" alt="apple icon" class="d-flex justify-content-center mx-auto" id="icon">
    
      </nav>
    </div>

    【讨论】:

      猜你喜欢
      • 2020-03-14
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      相关资源
      最近更新 更多