Html 自定义导航栏

Html 自定义导航栏,html,css,bootstrap-4,Html,Css,Bootstrap 4,我正试图为我的网站设计导航栏,用于桌面和移动模式 我创造了一个 这是迄今为止的html: <div class="container-fluid"> <nav class="navbar navbar-expand-sm navbar-light"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button

我正试图为我的网站设计导航栏,用于桌面和移动模式

我创造了一个

这是迄今为止的html:

<div class="container-fluid">
  <nav class="navbar navbar-expand-sm navbar-light">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" 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 mr-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Dropdown
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
            <a class="dropdown-item" href="#">Action</a>
            <a class="dropdown-item" href="#">Another action</a>
            <div class="dropdown-divider"></div>
            <a class="dropdown-item" href="#">Something else here</a>
          </div>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>



      <div class="row no-gutters ml-auto">

        <div class="col-3">
          <button class="btn btn-outline-warning btn-sm mr-1" data-toggle='modal' data-target='#login'>
                        <i class="fas fa-sign-in-alt mr5"></i>
                        Login
                    </button>
        </div>
        <div class="col-6 ml-auto">
          <form class="form-inline mr-1" action='/search' method='POST'>
                        <div class="input-group input-group-sm mx-auto">
                          <input type="text" class="form-control" name='search_string' placeholder="Search" value=''>
                          <div class="input-group-append">
                            <button class="btn btn-outline-warning" type="submit"><i class="fas fa-search mr5"></i></button>
                          </div>
                        </div>
                    </form>
        </div>
        <div class="col-3 text-right">
          <div class="dropdown">
              <button class="btn btn-outline-warning btn-sm dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              Dropdown
              </button>
              <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
                <a class="dropdown-item" href="#">Dropdown Option</a>
              </div>
            </div>
        </div>


      </div>



    </div>
  </nav>
</div>

登录 下拉列表
我希望右对齐的菜单项(在行中)彼此紧挨着(如每个项上的
mr-1
间距)-但是
col
类在桌面模式下增加了它们之间的间距。然而,当窗口变小时,我希望它们呈cols形状,并且当你下拉菜单时,它们之间的间隔很好。我尝试使用flex行,但无论我尝试了什么,我都无法让它工作。我不确定在导航栏上划一行是否正确。我对bootstrap4还是新手,所以我不确定最好的方法是什么。谢谢你的帮助

最终,我希望我的菜单是这样的,但我不知道如何用BootStrap 4构建它:

在LG中:

和XS屏幕大小: (我无法使
菜单1
完全移到右侧,与下拉菜单对齐)


我可以在bootstrap3中轻松地完成它,但出于某种原因,我正在努力掌握4的工作方式。它不一定非得是导航条,如果上面所说的只需要行和列就可以实现,我很乐意听到它。

您可以尝试添加推/拉,如图所示 这是一种选择。在最上面一行,您可以通过两种方式获得结果,一种是使用offset,如下所示。该示例使用中等大小,您需要为特定布局更改它

<div class="row row-fluid"> // row to be inside of a container
<div class="col-md-2">
Your burger-menu here
</div>
<div class="col-md-2 offset-md-8">
Your burger-menu here
</div>
</div>
//要在容器内的行
你的汉堡菜单在这里
你的汉堡菜单在这里
然后在登录搜索下拉列表中开始一个新行,但仍在同一个目录中

<div class="row row-fluid">
<div class="col-md-2">
login code
</div>
<div class="col-md-8">
search code
</div>
<div class="col-md-2">
dropdown code
</div>
</div>

登录码
搜索代码
下拉代码

显然,正如在Bootstrap3中一样,您需要将列设置为适用于所有不同的大小。如果上述方法不适用于布局,请尝试推拉方法,使用当前配置将div移动到位

有问题的代码请输入hi@Dharman,谢谢你的提示。我已经修改了我的答案,如果这个解决方案不起作用,我很乐意提供进一步的帮助。我需要提供多个解决方案还是一个解决方案好?@Edward68这很有趣-我找不到
col-sm-push-8
-你能链接它吗?@Edward68我刚刚意识到你给出的示例在bootstrap3中-我需要bootstrap4。嗨@Chud37,同样的代码适用于BS4。这里有一个链接,向您展示如何使用col sm和Bootstrap 4进行推/拉操作。我希望这会有所帮助。