【问题标题】:Boostrap 4 Navbar Collapse Menu Right AlignBootstrap 4导航栏折叠菜单右对齐
【发布时间】:2018-05-11 03:54:14
【问题描述】:

我正在使用 Bootstrap 4,我正在尝试通过单击折叠按钮在右侧而不是左侧打开来弹出菜单。我尝试在“ul”元素上使用“ml-auto”。导航栏项目在未折叠时正确位于右侧。折叠时,按钮正确位于右侧,但菜单会在左侧弹出。我也尝试将“ml-auto”也放入 div 中,但这没有用。这是我的 HTML:

<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
    <a class="navbar-brand" href="#home"><img id="logo" class="no-opacity" src="content/white-logo.png"></a>
    <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav ml-auto">
            <li class="nav-item">
                <a class="nav-link" href="#home"><i class="fa fa-home fa-fw" aria-hidden="true"></i>&nbsp;Home</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#about"><i class="fa fa-user fa-fw" aria-hidden="true"></i>&nbsp;About</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#projects"><i class="fa fa-folder-open fa-fw" aria-hidden="true"></i>&nbsp;Projects</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#experience"><i class="fa fa-briefcase fa-fw" aria-hidden="true"></i>&nbsp;Experience</a>
            </li>       
            <li class="nav-item">
                <a class="nav-link" href="#contact"><i class="fa fa-envelope fa-fw" aria-hidden="true"></i>&nbsp;Contact</a>
            </li>                     
        </ul>
    </div>
</nav>

我觉得有一个简单的解决方案,但我想不通。感谢您的帮助!

【问题讨论】:

    标签: html css twitter-bootstrap navbar collapse


    【解决方案1】:

    只需在 HTML 中使用“text-right”

    例如:

    &lt;div class="navbar-collapse text-right" id="navbarResponsive"&gt;

    【讨论】:

      【解决方案2】:

      根据http://getbootstrap.com/docs/4.0/components/navs/#horizontal-alignment,在导航栏的折叠下拉列表中居中、右对齐或左对齐的方法是使用justify-content-endclass中的朋友nav

      示例。此代码生成其后的图像。

      <nav class="navbar navbar-expand-lg fixed-top">
          <div class="container">
              <!-- Brand and toggle get grouped for better mobile display -->
              <ul class="list-inline social-buttons">
                  {% for link in site.social %}
                  <li class="list-inline-item">
                      <a href="{{ link.url }}"><i class="{{ link.icon }}"></i></a>
                  </li>
                  {% endfor %}
              </ul>
      
              <div class="navbar-toggler" data-toggle="collapse" data-target="#menu">
                  &#9776;<!-- three bars symbol -->
              </div>
      
              <!-- Collect the nav links, forms, and other content for toggling -->
              <div class="collapse navbar-collapse" id="menu">
                  <ul class="nav ml-auto">
                      <a class="nav-link page-scroll" href="#about">About</a>
                      <a class="nav-link page-scroll" href="#projects">Projects</a>
                      <a class="nav-link page-scroll" href="#writing">Writing</a>
                      <a class="nav-link page-scroll" href="#contact">Contact</a>
                  </ul>
              </div>
          </div>
      </nav>
      

      现在将这一行修改为:

      <div class="nav ml-auto justify-content-end">
      

      产量

      请注意,这显然与ml-auto 无关,它在丢失时会导致未折叠的菜单项(在更宽的屏幕上)无法右对齐。 (切换按钮本身对我来说总是正确的。)似乎只有justify 可以控制未折叠菜单中的内容。

      【讨论】:

        【解决方案3】:

        只需在你的 CSS 中添加简单的规则。

         .nav-item{
            text-align: right;
        }
        

        【讨论】:

        • 哈哈,这样一个简单的解决方案。谢谢!
        • 这在 Bootstrap 4 中对我不起作用。它确实使文本右对齐,但由于我的导航项是宽度有限的,它们最终仍然在左侧。
        猜你喜欢
        • 2019-06-20
        • 2017-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-14
        • 2012-09-09
        相关资源
        最近更新 更多