jquery - 如何编辑 Bootstrap 移动折叠下拉菜单布局?

标签 jquery html css twitter-bootstrap

我试图弄清楚当页面处于移动模式(或任何真正会显示汉堡包按钮的模式)时如何为 Bootstrap 创建自定义下拉菜单。我知道如何操作按钮本身,但谷歌搜索后我找不到任何关于创建自定义 Bootstrap 下拉列表的好文章或帖子。

我目前正在使用 Bootstrap 默认使用的“开箱即用”ul/li 列出的菜单,但无法弄清楚如何操作它,以便在使用“移动模式”时切换到这种样式。

这就是我的导航现在的样子:

        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/#home"><img src="/img/logo.png" class="img-responsive"></a>
        </div>

        <div class="navbar-collapse collapse text-center">
            <ul class="nav navbar-nav text-center">

                <li>
                    <a href="/link/">Link</a>
                </li>

                <li>
                    <a href="/link/">Link</a>
                </li>

                <li>
                    <a href="/link/">Link</a>
                </li>

                <li>
                    <a href="/link/">
                        <div class="btn btn-outline btn-sm">Sign Up</div>
                    </a>
                </li>

                <li>
                    <a href="/link/">
                        <div class="btn btn-outline btn-sm">Sign In</div>
                    </a>
                </li>

            </ul>
        </div>

bootstrap nav

我对我想要做的事情做了一个快速的概念,但我不知道从哪里开始到哪里它不会影响我当前的导航,这只是与右侧对齐的链接/按钮。

任何正确方向的帮助将不胜感激!

最佳答案

这根本不难。这一切都只是 CSS:在列表项中创建一个 div 并在其中放置两个按钮。将它们 float 到其余链接的右侧,因为它们将是第一个 li 元素,但请设置它们的样式。

然后通过删除 float 来调整它们以适应移动设备并添加您想要的任何样式。

查看示例代码片段。

.navbar.navbar-custom .signin {
  float: right;
  position: absolute;
  right: 15px;
}
.navbar.navbar-custom .navbar-nav > li > a {
  color: #ccc;
}
.navbar.navbar-custom a.btn.navbar-btn.btn-sign {
  background: none;
  border-radius: 0;
  font-size: 14px;
  margin-right: 5px;
  margin-left: 5px;
  color: #ccc;
  display: inline-block;
  padding: 6px 10px;
}
@media (max-width: 767px) {
  .navbar.navbar-custom .navbar-nav {
    text-align: center;
  }
  .navbar.navbar-custom .navbar-nav > li {
    font-size: 16px;
  }
  .navbar.navbar-custom .navbar-nav > li:not(:first-child) {
    right: 90px;
  }
  .navbar.navbar-custom .navbar-nav > li {
    border-bottom: 1px solid #eee;
  }
  .navbar.navbar-custom a.btn.navbar-btn.btn-sign {
    padding: 7.5px 15px;
    font-size: 20px;
  }
  .navbar.navbar-custom .signin {
    float: none;
    clear: both;
    position: relative;
    right: 0;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-default navbar-custom ">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-nav"> <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>

      </button>
      <a class="navbar-brand" href="#">
        <img src="http://placehold.it/50x20" class="img-responsive">
      </a>

    </div>
    <div class="navbar-collapse collapse" id="bs-nav">
      <ul class="nav navbar-nav">
        <li class="signin"> <a href="#" class="btn btn-default navbar-btn btn-sign">Sign Up</a>
          <a href="#" class="btn btn-default navbar-btn btn-sign">Sign in</a>

        </li>
        <li> <a href="/link/">Link</a>

        </li>
        <li> <a href="/link/">Link</a>

        </li>
        <li> <a href="/link/">Link</a>

        </li>
        <li> <a href="/link/">Link</a>

        </li>
      </ul>
    </div>
  </div>
</nav>

关于jquery - 如何编辑 Bootstrap 移动折叠下拉菜单布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33403397/

相关文章:

javascript - Jquery 响应式导航栏在单击菜单项或单击菜单按钮时折叠

javascript - 延迟加载背景图像/淡入替换背景图像

javascript - 根据表单内的选择显示不同表单的单选按钮

jquery - 如何避免 jquery 库影响我的 css

javascript - 如何保护我的登录页面

javascript - 在 Firefox 中捕获页面的 x 和 y 坐标

javascript - Browserify 与 jQuery 插件

html - 对于响应式网页设计,需要牢记哪些设备或分辨率?

JavaScript - 游戏。匹配随机生成器生成的两个变量的算法

javascript - 切换动画播放状态时出现问题