Html 引导4导航栏折叠菜单,元素位于右列

Html 引导4导航栏折叠菜单,元素位于右列,html,css,twitter-bootstrap,bootstrap-4,Html,Css,Twitter Bootstrap,Bootstrap 4,我尝试了很长一段时间,以实现一个移动菜单使用引导4。我的主要目标是在手机菜单的同一行显示3个品牌文本和切换按钮。但不幸的是,当我点击切换按钮时,3个品牌都在折叠菜单的下方。我想3个品牌保持在一行的顶部与切换按钮,即使在折叠菜单。我的问题是折叠菜单使用了100%的列宽,这最终会将3个品牌推到菜单下方。任何帮助都将不胜感激 目标解决方案 HTML <body id="page-top"> <nav class="navbar navbar-dark bg-primary nav

我尝试了很长一段时间,以实现一个移动菜单使用引导4。我的主要目标是在手机菜单的同一行显示3个品牌文本和切换按钮。但不幸的是,当我点击切换按钮时,3个品牌都在折叠菜单的下方。我想3个品牌保持在一行的顶部与切换按钮,即使在折叠菜单。我的问题是折叠菜单使用了100%的列宽,这最终会将3个品牌推到菜单下方。任何帮助都将不胜感激

目标解决方案

HTML

<body id="page-top">
 <nav class="navbar navbar-dark bg-primary navbar-fixed-top">
  <div class="container">

    <button class="navbar-toggler hidden-md-up pull-xs-right" data-target="#collapsenav" data-toggle="collapse" type="button">
            ☰
        </button>
    <div class="row">
        <div class="col-md-6 col-sm-12 col-xs-12">
             <div class="navbar-toggleable-sm collapse  text-xs-center" id="collapsenav">
                <ul class="nav navbar-nav">
                  <li class="nav-item"><a class="nav-link" href="#">About</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Portfolio</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Resume</a></li>
                </ul>
            </div>
        </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-1</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-2</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-3</a>
      </div>
    </div>
  </div>
</nav>   
</body> 

这三个品牌必须在右边吗

使用Bootstrap,您只需在导航列表内容的按钮和div之间移动导航品牌链接,就可以轻松地将品牌显示在左侧。这将使你的3个品牌保持原样,不会被推倒

<body id="page-top">
 <nav class="navbar navbar-dark bg-primary navbar-fixed-top">
  <div class="container">
 <button class="navbar-toggler hidden-md-up pull-xs-right" data-target="#collapsenav" data-toggle="collapse" type="button">
            ☰
        </button>
    //move brand items here
    <a class="navbar-brand" href="#home">Brand-1</a>
    <a class="navbar-brand" href="#home">Brand-2</a>
    <a class="navbar-brand" href="#home">Brand-3</a>
    <div class="row">
        <div class="col-md-6 col-sm-12 col-xs-12">
             <div class="navbar-toggleable-sm collapse  text-xs-center" id="collapsenav">
                <ul class="nav navbar-nav">
                  <li class="nav-item"><a class="nav-link" href="#">About</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Portfolio</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Resume</a></li>
                </ul>
            </div>
        </div>
    //delete these out
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-1</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-2</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-3</a>
      </div>
    </div>
  </div>
</nav>   
</body> 

☰
//将品牌项目移到此处
//删除这些
如果你的三个品牌必须在右边,那么我认为你必须做一些引导CSS工作,让品牌在大屏幕上显示,就像你最初在代码中看到的那样,然后隐藏在较小的屏幕上,显示我上面添加的代码。例如:

<body id="page-top">
 <nav class="navbar navbar-dark bg-primary navbar-fixed-top">
  <div class="container">
 <button class="navbar-toggler hidden-md-up pull-xs-right" data-target="#collapsenav" data-toggle="collapse" type="button">
            ☰
        </button>
        //show these here on small screens
        <a class="navbar-brand" href="#home">Brand-1</a>
        <a class="navbar-brand" href="#home">Brand-2</a>
        <a class="navbar-brand" href="#home">Brand-3</a>
        <div class="row">
           <div class="col-md-6 col-sm-12 col-xs-12">
             <div class="navbar-toggleable-sm collapse  text-xs-center" id="collapsenav">
                <ul class="nav navbar-nav">
                  <li class="nav-item"><a class="nav-link" href="#">About</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Portfolio</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
                  <li class="nav-item"><a class="nav-link" href="#">Resume</a></li>
                </ul>
            </div>
        </div>
    //show these below on large screens
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-1</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-2</a>
      </div>
      <div class="col-md-2 col-sm-4 col-xs-4">
          <a class="navbar-brand" href="#home">Brand-3</a>
      </div>
    </div>

☰
//在小屏幕上显示这些
//在大屏幕上显示以下内容

我还是比较新的编码,所以我希望这有帮助

尝试使用新的引导4 alpha 6 flexbox实用程序进行对齐,并使标记更简单:


最好使用最新的alpha 6,而不是alpha 3。这对你来说可能吗?是的,我当然可以使用alpha 6,但它如何帮助实现我所寻找的解决方案?有没有关于@ZimSystem的想法?另外,请解释您希望看到的非移动水平版菜单。。以前是手机版。嘿,非手机版的桌面版看起来就像它现在看着我的笔一样。桌面版不需要更改…我只是被手机版卡住了,因为它把我的三个品牌压到了手机版下面,我认为您的答复是最终的答案,因为它是非常干净的,没有任何重复HTML代码。它很好地解决了我遇到的问题。非常感谢,干杯@ZimStudio感谢您的提示,但不能认为它是一个完整的证明解决方案。但您的调整/解决方案也值得赞赏。谢谢,伙计,干杯!
<nav class="navbar navbar-toggleable-sm navbar-inverse bg-primary fixed-top">
    <div class="container">
        <div class="d-flex w-100 justify-content-between flex-last">
            <button class="navbar-toggler align-self-end mb-1" data-target="#collapsenav" data-toggle="collapse" type="button">
                ☰
            </button>
            <div class="d-flex w-100 flex-first justify-content-between">
                <a class="navbar-brand" href="#home">Brand-1</a>
                <a class="navbar-brand" href="#home">Brand-2</a>
                <a class="navbar-brand" href="#home">Brand-3</a>
            </div>
        </div>
        <div class="navbar-collapse collapse w-100" id="collapsenav">
            <ul class="nav navbar-nav align-items-center">
                <li class="nav-item active"><a class="nav-link" href="#">About</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Portfolio</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Resume</a></li>
            </ul>
        </div>
    </div>
</nav>
@media (max-width:767px) {
    .container {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}